love

When beginning to write games using LÖVE, the most important parts of the API are the callbacks: love.load to do one-time setup of your game, love.update which is used to manage your game's state frame-to-frame, and love.draw which is used to render the game state onto the screen.

More interactive games will override additional callbacks in order to handle input from the user, and other aspects of a full-featured game.

LÖVE provides default placeholders for these callbacks, which you can override inside your own code by creating your own function with the same name as the callback:

-- Load some default values for our rectangle.
function love.load()
    x, y, w, h = 20, 20, 60, 20
end
 
-- Increase the size of the rectangle every frame.
function love.update(dt)
    w = w + 1
    h = h + 1
end
 
-- Draw a coloured rectangle.
function love.draw()
    love.graphics.setColor(0, 100, 100)
    love.graphics.rectangle("fill", x, y, w, h)
end

Modules

love.audio Provides an interface to output sound to the user's speakers.
love.event Manages events, like keypresses. 0.6.0
love.filesystem Provides an interface to the user's filesystem.
love.font Allows you to work with fonts. 0.7.0
love.graphics Drawing of shapes and images, management of screen geometry.
love.image Provides an interface to decode encoded image data.
love.joystick Provides an interface to connected joysticks.
love.keyboard Provides an interface to the user's keyboard.
love.math Provides system-independent mathematical functions. 0.9.0
love.mouse Provides an interface to the user's mouse.
love.physics Can simulate 2D rigid body physics in a realistic manner. 0.4.0
love.sound This module is responsible for decoding sound files.
love.system Provides access to information about the user's system. 0.9.0
love.thread Allows you to work with threads. 0.7.0
love.timer Provides high-resolution timing functionality.
love.touch Provides an interface to touch-screen presses. 0.10.0
love.video This module is responsible for decoding and streaming video files. 0.10.0
love.window Provides an interface for the program's window. 0.9.0

Third-party modules

lua-enet Multiplayer networking module for games. 0.9.0
socket Module for HTTP, TCP, and UDP networking. 0.5.0
utf8 Provides basic support for manipulating UTF-8 strings. 0.9.2

Functions

love.getVersion Gets the current running version of LÖVE. 0.9.1

Types

Data The superclass of all data.
Object The superclass of all LÖVE types.
Variant The types supported by love.thread and love.event

Callbacks

General

Config Files Game configuration settings.
love.directorydropped Callback function triggered when a directory is dragged and dropped onto the window. 0.10.0
love.draw Callback function used to draw on the screen every frame.
love.errhand The error handler, used to display error messages.
love.filedropped Callback function triggered when a file is dragged and dropped onto the window. 0.10.0
love.focus Callback function triggered when window receives or loses focus. 0.7.0
love.keypressed Callback function triggered when a key is pressed.
love.keyreleased Callback function triggered when a keyboard key is released.
love.load This function is called exactly once at the beginning of the game.
love.lowmemory Callback function triggered when the system is running out of memory on mobile devices. 0.10.0
love.mousefocus Callback function triggered when window receives or loses mouse focus. 0.9.0
love.mousemoved Callback function triggered when the mouse is moved. 0.9.2
love.mousepressed Callback function triggered when a mouse button is pressed.
love.mousereleased Callback function triggered when a mouse button is released.
love.quit Callback function triggered when the game is closed. 0.7.0
love.resize Called when the window is resized. 0.9.0
love.run The main function, containing the main loop. A sensible default is used when left out.
love.textedited Called when the candidate text for an IME has changed. 0.10.0
love.textinput Called when text has been entered by the user. 0.9.0
love.threaderror Callback function triggered when a Thread encounters an error. 0.9.0
love.touchmoved Callback function triggered when a touch press moves inside the touch screen. 0.10.0
love.touchpressed Callback function triggered when the touch screen is touched. 0.10.0
love.touchreleased Callback function triggered when the touch screen stops being touched. 0.10.0
love.update Callback function used to update the state of the game every frame.
love.visible Callback function triggered when window is shown or hidden. 0.9.0
love.wheelmoved Callback function triggered when the mouse wheel is moved. 0.10.0

Joystick

love.gamepadaxis Called when a Joystick's virtual gamepad axis is moved. 0.9.0
love.gamepadpressed Called when a Joystick's virtual gamepad button is pressed. 0.9.0
love.gamepadreleased Called when a Joystick's virtual gamepad button is released. 0.9.0
love.joystickadded Called when a Joystick is connected. 0.9.0
love.joystickaxis Called when a joystick axis moves. 0.9.0
love.joystickhat Called when a joystick hat direction changes. 0.9.0
love.joystickpressed Called when a joystick button is pressed.
love.joystickreleased Called when a joystick button is released.
love.joystickremoved Called when a Joystick is disconnected. 0.9.0


love.lowmemory

love.lowmemory Available since LÖVE 0.10.0 This function is not supported in earlier versions. Callback function triggered when the system is

2017-03-21 15:49:16
love.gamepadaxis

love.gamepadaxis Available since LÖVE 0.9.0 This function is not supported in earlier versions. Called when a Joystick's virtual gamepad axis

2017-03-21 15:46:39
love.visible

love.visible Available since LÖVE 0.9.0 This callback is not supported in earlier versions. Callback function triggered when window is minimized/hidden

2017-03-21 15:50:41
love.errhand

love.errhand The error handler, used to display error messages. Function Synopsis

2017-03-21 15:45:53
love.mousemoved

love.mousemoved Available since LÖVE 0.9.2 This function is not supported in earlier versions. Callback function triggered when the mouse is

2017-03-21 15:49:49
love.touchreleased

love.touchreleased Available since LÖVE 0.10.0 This function is not supported in earlier versions. Callback function triggered when the touch

2017-03-21 15:50:39
love.textinput

love.textinput Available since LÖVE 0.9.0 This function is not supported in earlier versions. Called when text has been entered by the user

2017-03-21 15:50:28
love.keypressed

love.keypressed Callback function triggered when a key is pressed. Function Available since LÖVE 0.10.0 This variant

2017-03-21 15:49:13
love.joystickadded

love.joystickadded Available since LÖVE 0.9.0 This function is not supported in earlier versions. Called when a

2017-03-21 15:48:58
love.mousepressed

love.mousepressed Callback function triggered when a mouse button is pressed. Function Available since LÖVE 0.10.0

2017-03-21 15:49:50