Difference between revisions of "love.run (Українська)"
(Created page with "Основна функція, містить головний цикл. Якщо упущена, то використовується стандартна реалізаці...") |
|||
(8 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | Основна функція, містить головний цикл. Якщо упущена, то використовується стандартна реалізація цієї функції. | + | Основна функція, яка містить головний цикл. Якщо упущена, то використовується стандартна реалізація цієї функції. |
+ | == Function == | ||
+ | {{newin (Українська)|[[11.0]]|110|type=variant}} | ||
+ | === Synopsis === | ||
+ | <source lang="lua"> | ||
+ | mainLoop = love.run ( ) | ||
+ | </source> | ||
+ | === Arguments === | ||
+ | None. | ||
+ | === Returns === | ||
+ | {{param (Українська)|function|mainLoop|Функція, яка виконує всі дії, призначені для одного кадру, в тому числі опрацювання подій та малювання.}} | ||
+ | |||
== Функція == | == Функція == | ||
+ | {{oldin (Українська)|[[11.0]]|110|type=variant}} | ||
=== Вигляд === | === Вигляд === | ||
<source lang="lua"> | <source lang="lua"> | ||
Line 6: | Line 18: | ||
</source> | </source> | ||
=== Аргументи === | === Аргументи === | ||
− | + | Немає. | |
+ | |||
=== Возвращает === | === Возвращает === | ||
Нічого. | Нічого. | ||
== Приклади == | == Приклади == | ||
− | === Стандартна функція для версії | + | === Стандартна функція для версії [[11.0]], використовується, якщо ви не написали власну. === |
<source lang="lua"> | <source lang="lua"> | ||
function love.run() | function love.run() | ||
+ | if love.load then love.load(love.arg.parseGameArguments(arg), arg) end | ||
+ | |||
+ | -- Не треба, щоб dt першого кадру включав час роботи love.load. | ||
+ | if love.timer then love.timer.step() end | ||
+ | |||
+ | local dt = 0 | ||
+ | |||
+ | -- Час основного циклу. | ||
+ | return function() | ||
+ | -- Опрацювання подій. | ||
+ | if love.event then | ||
+ | love.event.pump() | ||
+ | for name, a,b,c,d,e,f in love.event.poll() do | ||
+ | if name == "quit" then | ||
+ | if not love.quit or not love.quit() then | ||
+ | return a or 0 | ||
+ | end | ||
+ | end | ||
+ | love.handlers[name](a,b,c,d,e,f) | ||
+ | end | ||
+ | end | ||
+ | |||
+ | -- Оновити час dt, бо він передаватиметься функції update | ||
+ | if love.timer then dt = love.timer.step() end | ||
+ | |||
+ | -- Викликати update (оновлення) та draw (малювання) | ||
+ | if love.update then love.update(dt) end -- якщо love.timer виключений, буде передано 0 | ||
+ | |||
+ | if love.graphics and love.graphics.isActive() then | ||
+ | love.graphics.origin() | ||
+ | love.graphics.clear(love.graphics.getBackgroundColor()) | ||
+ | |||
+ | if love.draw then love.draw() end | ||
+ | |||
+ | love.graphics.present() | ||
+ | end | ||
+ | |||
+ | if love.timer then love.timer.sleep(0.001) end | ||
+ | end | ||
+ | end | ||
+ | </source> | ||
+ | |||
+ | === Стандартна функція для версії [[0.10.0]], [[0.10.1]], and [[0.10.2]], використовується, якщо ви не написали власну. === | ||
+ | <source lang="lua"> | ||
+ | function love.run() | ||
+ | |||
+ | if love.math then | ||
+ | love.math.setRandomSeed(os.time()) | ||
+ | end | ||
+ | |||
+ | if love.load then love.load(arg) end | ||
+ | |||
+ | -- Не треба, щоб dt першого кадру включав час роботи love.load. | ||
+ | if love.timer then love.timer.step() end | ||
+ | |||
+ | local dt = 0 | ||
+ | |||
+ | -- Час основного циклу. | ||
+ | while true do | ||
+ | -- Опрацювання подій. | ||
+ | if love.event then | ||
+ | love.event.pump() | ||
+ | for name, a,b,c,d,e,f in love.event.poll() do | ||
+ | if name == "quit" then | ||
+ | if not love.quit or not love.quit() then | ||
+ | return a | ||
+ | end | ||
+ | end | ||
+ | love.handlers[name](a,b,c,d,e,f) | ||
+ | end | ||
+ | end | ||
+ | |||
+ | -- Оновити час dt, бо він передаватиметься функції update | ||
+ | if love.timer then | ||
+ | love.timer.step() | ||
+ | dt = love.timer.getDelta() | ||
+ | end | ||
+ | |||
+ | -- Викликати update (оновлення) та draw (малювання) | ||
+ | if love.update then love.update(dt) end -- will pass 0 if love.timer is disabled | ||
+ | |||
+ | if love.graphics and love.graphics.isActive() then | ||
+ | love.graphics.clear(love.graphics.getBackgroundColor()) | ||
+ | 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> | ||
+ | === Стандартна функція для версії [[0.9.0]], [[0.9.1]], і [[0.9.2]], використовується, якщо ви не написали власну. === | ||
+ | <source lang="lua"> | ||
+ | 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 | ||
+ | |||
+ | -- Не треба, щоб dt першого кадру включав час роботи love.load. | ||
+ | if love.timer then love.timer.step() end | ||
local dt = 0 | local dt = 0 | ||
− | -- | + | -- Час основного циклу. |
while true do | while true do | ||
+ | -- Опрацювання подій. | ||
+ | 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 | ||
+ | |||
+ | -- Оновити час dt, бо він передаватиметься функції 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 -- | + | |
− | if love.graphics then | + | -- Викликати update (оновлення) та 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 | ||
+ | |||
+ | -- Час основного циклу. | ||
+ | while true do | ||
+ | -- Опрацювання подій. | ||
if love.event then | if love.event then | ||
− | for e,a,b,c in love.event.poll() do | + | love.event.pump() |
− | if e == " | + | 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 204: | ||
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( | + | -- Оновити час dt, бо він передаватиметься функції update |
+ | if love.timer then | ||
+ | love.timer.step() | ||
+ | dt = love.timer.getDelta() | ||
+ | end | ||
+ | |||
+ | -- Викликати update (оновлення) та 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. | + | === Стандартна функція для версії [[0.7.0]], [[0.7.1]] і [[0.7.2]], використовується, якщо ви не написали власну. === |
<source lang="lua"> | <source lang="lua"> | ||
function love.run() | function love.run() | ||
Line 60: | Line 235: | ||
local dt = 0 | local dt = 0 | ||
− | -- | + | -- Час основного циклу. |
while true do | while true do | ||
if love.timer then | if love.timer then | ||
Line 66: | Line 241: | ||
dt = love.timer.getDelta() | dt = love.timer.getDelta() | ||
end | end | ||
− | if love.update then love.update(dt) end -- | + | 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 72: | Line 247: | ||
end | end | ||
− | -- | + | -- Опрацювання подій. |
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 |
− | + | if love.audio then | |
+ | love.audio.stop() | ||
+ | end | ||
+ | return | ||
end | end | ||
− | |||
end | end | ||
love.handlers[e](a,b,c) | love.handlers[e](a,b,c) | ||
Line 87: | Line 264: | ||
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 | end | ||
</source> | </source> | ||
== Дивіться також == | == Дивіться також == | ||
− | * [[parent:: | + | * [[parent::love (Українська)]] |
[[Category:Callbacks]] | [[Category:Callbacks]] | ||
− | {{#set:Description=Основна функція, містить головний цикл.}} | + | {{#set:Link for lists=[[love.run (Українська)|love.run]]}} |
+ | {{#set:Description=Основна функція, яка містить головний цикл. Якщо упущена, то використовується стандартна реалізація цієї функції.}} | ||
+ | {{#set:Subcategory=General}} | ||
+ | {{#set:Since=000}} | ||
== Інші мови == | == Інші мови == | ||
{{i18n|love.run}} | {{i18n|love.run}} |
Latest revision as of 13:03, 31 January 2020
Основна функція, яка містить головний цикл. Якщо упущена, то використовується стандартна реалізація цієї функції.
Contents
- 1 Function
- 2 Функція
- 3 Приклади
- 3.1 Стандартна функція для версії 11.0, використовується, якщо ви не написали власну.
- 3.2 Стандартна функція для версії 0.10.0, 0.10.1, and 0.10.2, використовується, якщо ви не написали власну.
- 3.3 Стандартна функція для версії 0.9.0, 0.9.1, і 0.9.2, використовується, якщо ви не написали власну.
- 3.4 Стандартна функція для версії 0.8.0, використовується, якщо ви не написали власну.
- 3.5 Стандартна функція для версії 0.7.0, 0.7.1 і 0.7.2, використовується, якщо ви не написали власну.
- 4 Дивіться також
- 5 Інші мови
Function
Доступне починаючи з LÖVE 11.0 |
Цей варіант недоступний в попередніх версіях. |
Synopsis
mainLoop = love.run ( )
Arguments
None.
Returns
function mainLoop
- Функція, яка виконує всі дії, призначені для одного кадру, в тому числі опрацювання подій та малювання.
Функція
Видалене в LÖVE 11.0 |
Цей варіант недоступний в LÖVE 11.0 і наступних версіях.. |
Вигляд
love.run( )
Аргументи
Немає.
Возвращает
Нічого.
Приклади
Стандартна функція для версії 11.0, використовується, якщо ви не написали власну.
function love.run()
if love.load then love.load(love.arg.parseGameArguments(arg), arg) end
-- Не треба, щоб dt першого кадру включав час роботи love.load.
if love.timer then love.timer.step() end
local dt = 0
-- Час основного циклу.
return function()
-- Опрацювання подій.
if love.event then
love.event.pump()
for name, a,b,c,d,e,f in love.event.poll() do
if name == "quit" then
if not love.quit or not love.quit() then
return a or 0
end
end
love.handlers[name](a,b,c,d,e,f)
end
end
-- Оновити час dt, бо він передаватиметься функції update
if love.timer then dt = love.timer.step() end
-- Викликати update (оновлення) та draw (малювання)
if love.update then love.update(dt) end -- якщо love.timer виключений, буде передано 0
if love.graphics and love.graphics.isActive() then
love.graphics.origin()
love.graphics.clear(love.graphics.getBackgroundColor())
if love.draw then love.draw() end
love.graphics.present()
end
if love.timer then love.timer.sleep(0.001) end
end
end
Стандартна функція для версії 0.10.0, 0.10.1, and 0.10.2, використовується, якщо ви не написали власну.
function love.run()
if love.math then
love.math.setRandomSeed(os.time())
end
if love.load then love.load(arg) end
-- Не треба, щоб dt першого кадру включав час роботи love.load.
if love.timer then love.timer.step() end
local dt = 0
-- Час основного циклу.
while true do
-- Опрацювання подій.
if love.event then
love.event.pump()
for name, a,b,c,d,e,f in love.event.poll() do
if name == "quit" then
if not love.quit or not love.quit() then
return a
end
end
love.handlers[name](a,b,c,d,e,f)
end
end
-- Оновити час dt, бо він передаватиметься функції update
if love.timer then
love.timer.step()
dt = love.timer.getDelta()
end
-- Викликати update (оновлення) та draw (малювання)
if love.update then love.update(dt) end -- will pass 0 if love.timer is disabled
if love.graphics and love.graphics.isActive() then
love.graphics.clear(love.graphics.getBackgroundColor())
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.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
-- Не треба, щоб dt першого кадру включав час роботи love.load.
if love.timer then love.timer.step() end
local dt = 0
-- Час основного циклу.
while true do
-- Опрацювання подій.
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
-- Оновити час dt, бо він передаватиметься функції update
if love.timer then
love.timer.step()
dt = love.timer.getDelta()
end
-- Викликати update (оновлення) та 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
-- Час основного циклу.
while true do
-- Опрацювання подій.
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
-- Оновити час dt, бо він передаватиметься функції update
if love.timer then
love.timer.step()
dt = love.timer.getDelta()
end
-- Викликати update (оновлення) та 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
-- Час основного циклу.
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
-- Опрацювання подій.
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
Дивіться також
Інші мови
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info