love.run (Polski)
Główna funkcja LÖVE, zawierająca główną pętle aplikacji. LÖVE zapewnia sensowną domyślną implementację, także najczęściej nie ma potrzeby jej nadpisywać.
Contents
- 1 Funkcja
- 2 Funkcja
- 3 Przykłady
- 3.1 Domyślna implementacja funkcja w wersji 11.0
- 3.2 Domyślna implementacja funkcja w wersjach 0.10.0, 0.10.1, 0.10.2
- 3.3 Domyślna implementacja funkcja w wersjach 0.9.0, 0.9.1, 0.9.2
- 3.4 Domyślna implementacja funkcji w wersji 0.8.0
- 3.5 omyślna implementacja funkcji w wersjach 0.7.0, 0.7.1 and 0.7.2
- 4 Zobacz również
- 5 Inne języki
Funkcja
Dostępne od wersji LÖVE 11.0 |
Ten wariant nie jest dostępny we wcześniejszych wersjach. |
Sygnatura
mainLoop = love.run ( )
Argumenty
Brak.
Wartość zwracana
function mainLoop
- Funkcja, która obsługuje jedną klatkę, włączając w to obsługę zdażeń i renderowanie.
Funkcja
Usunięte w wersji LÖVE 11.0 |
Ten wariant nie jest dostępny w tej i późniejszych wersjach. |
Sygnatura
love.run( )
Argumenty
Brak.
Wartość zwracana
Żadna
Przykłady
Domyślna implementacja funkcja w wersji 11.0
function love.run()
if love.load then love.load(love.arg.parseGameArguments(arg), arg) end
-- Nie chcemy, by czas jaki zajęło wywołanie funkcji love.load miał wpływ
-- na wartość zmiennej dt przekazanej przy pierwszym wywołaniu love.update
if love.timer then love.timer.step() end
local dt = 0
-- Główna pętla
return function()
-- Przetwarzanie zdarzeń
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
-- Uaktualnij wartość dt, która będzie przekazana do love.update
if love.timer then dt = love.timer.step() end
-- Wywołanie funkcji love.update oraz love.draw
if love.update then love.update(dt) end -- jeżeli moduł love.timer został wyłączony, jako dt zostanie przekazane 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
Domyślna implementacja funkcja w wersjach 0.10.0, 0.10.1, 0.10.2
function love.run()
if love.math then
love.math.setRandomSeed(os.time())
end
if love.load then love.load(arg) end
-- Nie chcemy, by czas jaki zajęło wywołanie funkcji love.load miał wpływ
-- na wartość zmiennej dt przekazanej przy pierwszym wywołaniu love.update
if love.timer then love.timer.step() end
local dt = 0
-- Główna pętla
while true do
-- Przetwarzanie zdarzeń
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
return a
end
end
love.handlers[e](a,b,c,d)
end
end
-- Uaktualnij wartość dt, która będzie przekazana do love.update
if love.timer then
love.timer.step()
dt = love.timer.getDelta()
end
-- Wywołanie funkcji love.update oraz love.draw
if love.update then love.update(dt) end -- jeżeli moduł love.timer został wyłączony, jako dt zostanie przekazane 0
if love.window and love.graphics and love.window.isCreated() 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
Domyślna implementacja funkcja w wersjach 0.9.0, 0.9.1, 0.9.2
function love.run()
if love.math then
love.math.setRandomSeed(os.time())
end
if love.event then
love.event.pump()
end
if love.load then love.load(arg) end
-- Nie chcemy, by czas jaki zajęło wywołanie funkcji love.load miał wpływ
-- na wartość zmiennej dt przekazanej przy pierwszym wywołaniu love.update
if love.timer then love.timer.step() end
local dt = 0
-- Główna pętla
while true do
-- Przetwarzanie zdarzeń
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
-- Uaktualnij wartość dt, która będzie przekazana do love.update
if love.timer then
love.timer.step()
dt = love.timer.getDelta()
end
-- Wywołanie funkcji love.update oraz love.draw
if love.update then love.update(dt) end -- jeżeli moduł love.timer został wyłączony, jako dt zostanie przekazane 0
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
Domyślna implementacja funkcji w wersji 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
-- Główna pętla
while true do
-- Przetwarzanie zdarzeń
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
-- Uaktualnij wartość dt, która będzie przekazana do love.update
if love.timer then
love.timer.step()
dt = love.timer.getDelta()
end
-- Wywołanie funkcji love.update oraz love.draw
if love.update then love.update(dt) end -- jeżeli moduł love.timer został wyłączony, jako dt zostanie przekazane 0
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
omyślna implementacja funkcji w wersjach 0.7.0, 0.7.1 and 0.7.2
function love.run()
if love.load then love.load(arg) end
local dt = 0
-- Główna pętla
while true do
-- Uaktualnij wartość dt, która będzie przekazana do love.update
if love.timer then
love.timer.step()
dt = love.timer.getDelta()
end
-- Wywołanie funkcji love.update oraz love.draw
if love.update then love.update(dt) end -- jeżeli moduł love.timer został wyłączony, jako dt zostanie przekazane 0
if love.graphics then
love.graphics.clear()
if love.draw then love.draw() end
end
-- Przetwarzanie zdarzeń
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
Zobacz również
Inne języki
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