Difference between revisions of "love.run"

m (Moving the 0.8.0 default love.run to the top.)
(Added 0.9.0's love.run)
Line 10: Line 10:
 
Nothing.
 
Nothing.
 
== Examples ==
 
== Examples ==
 +
=== The default function for [[0.9.0]], used if you don't supply your own. ===
 +
<source lang="lua">
 +
function love.run()
 +
 +
if love.math then
 +
love.math.setRandomState(os.time())
 +
end
 +
 +
if love.event then
 +
love.event.pump()
 +
end
 +
 +
if love.load then love.load(arg) end
 +
 +
-- We don't want the first frame's dt to include time taken by love.load.
 +
if love.timer then love.timer.step() end
 +
 +
local dt = 0
 +
 +
-- Main loop time.
 +
while true do
 +
-- Process events.
 +
if love.event then
 +
love.event.pump()
 +
for e,a,b,c,d in love.event.poll() do
 +
if e == "quit" then
 +
if not love.quit or not love.quit() then
 +
if love.audio then
 +
love.audio.stop()
 +
end
 +
return
 +
end
 +
end
 +
love.handlers[e](a,b,c,d)
 +
end
 +
end
 +
 +
-- Update dt, as we'll be passing it to update
 +
if love.timer then
 +
love.timer.step()
 +
dt = love.timer.getDelta()
 +
end
 +
 +
-- Call update and draw
 +
if love.update then love.update(dt) end -- will pass 0 if love.timer is disabled
 +
 +
if love.window and love.graphics then
 +
love.graphics.clear()
 +
love.graphics.origin()
 +
if love.draw then love.draw() end
 +
love.graphics.present()
 +
end
 +
 +
if love.timer then love.timer.sleep(0.001) end
 +
end
 +
 +
end
 +
</source>
 
=== The default function for 0.8.0, used if you don't supply your own. ===
 
=== The default function for 0.8.0, used if you don't supply your own. ===
 
<source lang="lua">
 
<source lang="lua">
Line 54: Line 112:
 
if love.timer then love.timer.sleep(0.001) end
 
if love.timer then love.timer.sleep(0.001) end
 
if love.graphics then love.graphics.present() end
 
if love.graphics then love.graphics.present() end
 
 
end
 
end
  
Line 96: Line 153:
 
if love.timer then love.timer.sleep(1) end
 
if love.timer then love.timer.sleep(1) end
 
if love.graphics then love.graphics.present() end
 
if love.graphics then love.graphics.present() end
 
 
end
 
end
  

Revision as of 01:45, 29 October 2013

The main function, containing the main loop. A sensible default is used when left out.

Function

Synopsis

love.run( )

Arguments

None.

Returns

Nothing.

Examples

The default function for 0.9.0, used if you don't supply your own.

function love.run()

	if love.math then
		love.math.setRandomState(os.time())
	end

	if love.event then
		love.event.pump()
	end

	if love.load then love.load(arg) end

	-- We don't want the first frame's dt to include time taken by love.load.
	if love.timer then love.timer.step() end

	local dt = 0

	-- Main loop time.
	while true do
		-- Process events.
		if love.event then
			love.event.pump()
			for e,a,b,c,d in love.event.poll() do
				if e == "quit" then
					if not love.quit or not love.quit() then
						if love.audio then
							love.audio.stop()
						end
						return
					end
				end
				love.handlers[e](a,b,c,d)
			end
		end

		-- Update dt, as we'll be passing it to update
		if love.timer then
			love.timer.step()
			dt = love.timer.getDelta()
		end

		-- Call update and draw
		if love.update then love.update(dt) end -- will pass 0 if love.timer is disabled

		if love.window and love.graphics then
			love.graphics.clear()
			love.graphics.origin()
			if love.draw then love.draw() end
			love.graphics.present()
		end

		if love.timer then love.timer.sleep(0.001) end
	end

end

The default function for 0.8.0, used if you don't supply your own.

function love.run()

	math.randomseed(os.time())
	math.random() math.random()

	if love.load then love.load(arg) end

	local dt = 0

	-- Main loop time.
	while true do
		-- Process events.
		if love.event then
			love.event.pump()
			for e,a,b,c,d in love.event.poll() do
				if e == "quit" then
					if not love.quit or not love.quit() then
						if love.audio then
							love.audio.stop()
						end
						return
					end
				end
				love.handlers[e](a,b,c,d)
			end
		end

		-- Update dt, as we'll be passing it to update
		if love.timer then
			love.timer.step()
			dt = love.timer.getDelta()
		end

		-- Call update and draw
		if love.update then love.update(dt) end -- will pass 0 if love.timer is disabled
		if love.graphics then
			love.graphics.clear()
			if love.draw then love.draw() end
		end

		if love.timer then love.timer.sleep(0.001) end
		if love.graphics then love.graphics.present() end
	end

end

The default function for 0.7.0, 0.7.1 and 0.7.2, used if you don't supply your own.

function love.run()

	if love.load then love.load(arg) end

	local dt = 0

	-- Main loop time.
	while true do
		if love.timer then
			love.timer.step()
			dt = love.timer.getDelta()
		end
		if love.update then love.update(dt) end -- will pass 0 if love.timer is disabled
		if love.graphics then
			love.graphics.clear()
			if love.draw then love.draw() end
		end

		-- Process events.
		if love.event then
			for e,a,b,c in love.event.poll() do
				if e == "q" then
					if not love.quit or not love.quit() then
						if love.audio then
							love.audio.stop()
						end
						return
					end
				end
				love.handlers[e](a,b,c)
			end
		end

		if love.timer then love.timer.sleep(1) end
		if love.graphics then love.graphics.present() end
	end

end

See Also


Other Languages