Difference between revisions of "love.run (Українська)"

(Аргументи)
Line 1: Line 1:
Основна функція, містить головний цикл. Якщо упущена, то використовується стандартна реалізація цієї функції.
+
Основна функція, яка містить головний цикл. Якщо упущена, то використовується стандартна реалізація цієї функції.
 
== Функція ==
 
== Функція ==
 
=== Вигляд ===
 
=== Вигляд ===
Line 6: Line 6:
 
</source>
 
</source>
 
=== Аргументи ===
 
=== Аргументи ===
Немає.
+
Нетмає.
 
 
 
=== Возвращает ===
 
=== Возвращает ===
 
Нічого.
 
Нічого.
 
== Приклади ==
 
== Приклади ==
=== Стандартна функція для версії 0.7.0, використовується, якщо ви не написали власну. ===
+
=== Стандартна функція для версії [[0.9.0]], [[0.9.1]], і [[0.9.2]], використовується, якщо ви не написали власну. ===
 
<source lang="lua">
 
<source lang="lua">
 
function love.run()
 
function love.run()
 +
 +
if love.math then
 +
love.math.setRandomSeed(os.time())
 +
for i=1,3 do love.math.random() end
 +
end
 +
 +
if love.event then
 +
love.event.pump()
 +
end
  
 
if love.load then love.load(arg) 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
 
local dt = 0
  
-- Основний цикл.
+
-- 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
if love.update then love.update(dt) end -- повертає 0, якщо love.timer не увімкнений
+
 
if love.graphics then
+
-- 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 and love.window.isCreated() then
 
love.graphics.clear()
 
love.graphics.clear()
 +
love.graphics.origin()
 
if love.draw then love.draw() end
 
if love.draw then love.draw() end
 +
love.graphics.present()
 
end
 
end
  
-- Обробка подій.
+
if love.timer then love.timer.sleep(0.001) end
 +
end
 +
 
 +
end
 +
</source>
 +
 
 +
=== Стандартна функція для версії [[0.8.0]], використовується, якщо ви не написали власну. ===
 +
<source lang="lua">
 +
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
 
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 42: Line 95:
 
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
 
 
end
 
end
  
 
end
 
end
 
</source>
 
</source>
=== Стандартна функція для версії 0.6.1, використовується, якщо ви не написали власну. ===
+
=== Стандартна функція для версії [[0.7.0]], [[0.7.1]] і [[0.7.2]], використовується, якщо ви не написали власну. ===
 
<source lang="lua">
 
<source lang="lua">
 
function love.run()
 
function love.run()
Line 61: Line 126:
 
local dt = 0
 
local dt = 0
  
-- Основний цикл.
+
-- Main loop time.
 
while true do
 
while true do
 
if love.timer then
 
if love.timer then
Line 67: Line 132:
 
dt = love.timer.getDelta()
 
dt = love.timer.getDelta()
 
end
 
end
if love.update then love.update(dt) end -- повертає 0, якщо love.timer не увімкнений
+
if love.update then love.update(dt) end -- will pass 0 if love.timer is disabled
 
if love.graphics then
 
if love.graphics then
 
love.graphics.clear()
 
love.graphics.clear()
Line 73: Line 138:
 
end
 
end
  
-- Обробка подій.
+
-- Process events.
 
if love.event then
 
if love.event then
 
for e,a,b,c in love.event.poll() do
 
for e,a,b,c in love.event.poll() do
 
if e == "q" then
 
if e == "q" then
if love.audio then
+
if not love.quit or not love.quit() then
love.audio.stop()
+
if love.audio then
 +
love.audio.stop()
 +
end
 +
return
 
end
 
end
return
 
 
end
 
end
 
love.handlers[e](a,b,c)
 
love.handlers[e](a,b,c)
Line 88: Line 155:
 
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
  
end
 
</source>
 
=== Стандартна функція для версії 0.6.1, використовується, якщо ви не написали власну. ===
 
<source lang="lua">
 
function love.run()
 
 
if love.load then love.load() end
 
 
-- Основний цикл.
 
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
 
 
-- Обробка подій.
 
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>
Line 128: Line 162:
 
* [[parent::love_(Українська)]]
 
* [[parent::love_(Українська)]]
 
[[Category:Callbacks]]
 
[[Category:Callbacks]]
{{#set:Description=Основна функція, містить головний цикл.}}
+
{{#set:Description=Основна функція, яка містить головний цикл. Якщо упущена, то використовується стандартна реалізація цієї функції.}}
 +
{{#set:Subcategory=General}}
 +
{{#set:Since=000}}
 
== Інші мови ==
 
== Інші мови ==
 
{{i18n|love.run}}
 
{{i18n|love.run}}

Revision as of 13:02, 27 June 2015

Основна функція, яка містить головний цикл. Якщо упущена, то використовується стандартна реалізація цієї функції.

Функція

Вигляд

love.run( )

Аргументи

Нетмає.

Возвращает

Нічого.

Приклади

Стандартна функція для версії 0.9.0, 0.9.1, і 0.9.2, використовується, якщо ви не написали власну.

function love.run()

	if love.math then
		love.math.setRandomSeed(os.time())
		for i=1,3 do love.math.random() end
	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 and love.window.isCreated() 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

Стандартна функція для версії 0.8.0, використовується, якщо ви не написали власну.

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

Стандартна функція для версії 0.7.0, 0.7.1 і 0.7.2, використовується, якщо ви не написали власну.

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

Дивіться також


Інші мови