Difference between revisions of "love.run"

(Added 0.8.0 default love.run; removed old 0.6.x series)
m (Moving the 0.8.0 default love.run to the top.)
Line 10: Line 10:
 
Nothing.
 
Nothing.
 
== Examples ==
 
== Examples ==
=== The default function for 0.7.0, 0.7.1 and 0.7.2, 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 20: Line 23:
 
-- Main loop time.
 
-- Main loop time.
 
while true do
 
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.
 
-- Process events.
 
if love.event then
 
if love.event then
for e,a,b,c in love.event.poll() do
+
love.event.pump()
if e == "q" then
+
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 not love.quit or not love.quit() then
 
if love.audio then
 
if love.audio then
Line 41: Line 35:
 
end
 
end
 
end
 
end
love.handlers[e](a,b,c)
+
love.handlers[e](a,b,c,d)
 
end
 
end
 
end
 
end
  
if love.timer then love.timer.sleep(1) 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
 
if love.graphics then love.graphics.present() end
  
Line 52: Line 59:
 
end
 
end
 
</source>
 
</source>
=== The default function for 0.8.0, used if you don't supply your own. ===
+
=== The default function for 0.7.0, 0.7.1 and 0.7.2, 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 65: Line 69:
 
-- Main loop time.
 
-- Main loop time.
 
while true do
 
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.
 
-- Process events.
 
if love.event then
 
if love.event then
love.event.pump()
+
for e,a,b,c in love.event.poll() do
for e,a,b,c,d in love.event.poll() do
+
if e == "q" then
if e == "quit" then
 
 
if not love.quit or not love.quit() then
 
if not love.quit or not love.quit() then
 
if love.audio then
 
if love.audio then
Line 77: Line 90:
 
end
 
end
 
end
 
end
love.handlers[e](a,b,c,d)
+
love.handlers[e](a,b,c)
 
end
 
end
 
end
 
end
  
-- Update dt, as we'll be passing it to update
+
if love.timer then love.timer.sleep(1) end
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
 
if love.graphics then love.graphics.present() end
  

Revision as of 20:09, 8 April 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.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