Difference between revisions of "love.run"

(Added 0.8.0 default love.run; removed old 0.6.x series)
Line 52: Line 52:
 
end
 
end
 
</source>
 
</source>
=== The default function for 0.6.1, 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">
 
function love.run()
 
function love.run()
 +
 +
math.randomseed(os.time())
 +
math.random() math.random()
  
 
if love.load then love.load(arg) end
 
if love.load then love.load(arg) end
Line 62: Line 65:
 
-- Main loop time.
 
-- Main loop time.
 
while true do
 
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
 
if love.timer then
 
love.timer.step()
 
love.timer.step()
 
dt = love.timer.getDelta()
 
dt = love.timer.getDelta()
 
end
 
end
 +
 +
-- Call update and draw
 
if love.update then love.update(dt) end -- will pass 0 if love.timer is disabled
 
if love.update then love.update(dt) end -- will pass 0 if love.timer is disabled
 
if love.graphics then
 
if love.graphics then
Line 72: Line 94:
 
end
 
end
  
-- Process events.
+
if love.timer then love.timer.sleep(0.001) end
if love.event then
 
for e,a,b,c in love.event.poll() do
 
if e == "q" then
 
if love.audio then
 
love.audio.stop()
 
end
 
return
 
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
 
if love.graphics then love.graphics.present() end
  
 
end
 
end
  
end
 
</source>
 
=== The default function for 0.6.0, used if you don't supply your own. ===
 
<source lang="lua">
 
function love.run()
 
 
if love.load then love.load() end
 
 
-- Main loop.
 
while true do
 
 
love.timer.step()
 
if love.update then love.update(love.timer.getDelta()) end
 
love.graphics.clear()
 
if love.draw then love.draw() end
 
 
-- Process events.
 
for e,a,b,c in love.event.poll() do
 
if e == 'q' then
 
if love.audio then
 
love.audio.stop()
 
end
 
return
 
end
 
love.handlers[e](a,b,c)
 
end
 
love.timer.sleep(1)
 
 
love.graphics.present()
 
 
end
 
 
 
end
 
end
 
</source>
 
</source>

Revision as of 00:44, 20 February 2012

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.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

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

See Also


Other Languages