love.run (Slovenský)

Hlavná funkcia, ktorá obsahuje hlavnú slučku. Keď nie je inak naprogramovaná, použije sa rozumné nastavenie.

Funkcia

Dostupná od LÖVE 11.0
Táto varianta nie je dostupá v predchádzajúcich verziách.

Prehľad

mainLoop = love.run ( )

Argumenty

Žiadne.

Vráti

funkcia mainLoop
Funkcia, ktorá obsluhuje jeden snímok, vrátane udalostí a vykresľovania pri volaní.

Funkcia

Odstránená od LÖVE 11.0
Táto varianta nie je dostupá v nasledujúcich verziách.

Prehľad

love.run( )

Argumenty

Žiadne.

Vráti

Nič.

Príklady

Predvolená funkcia pre verziu 11.0, ktorá sa používa, ak nenaprogramujete svoju vlastnú.

function love.run()
	if love.load then love.load(love.arg.parseGameArguments(arg), arg) end
 
	-- Nechceme, aby dt (delta time) prvého rámca zahŕňal čas strávený s funkciou love.load.
	if love.timer then love.timer.step() end
 
	local dt = 0
 
	--Čas na hlavnú slučku.
	return function()
		-- Spracovanie udalostí.
		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
 
		-- Aktualizovanie dt, pretože sa bude používať na aktualizáciu
		if love.timer then dt = love.timer.step() end
 
		-- Spustenie aktualizácie a vykresľovania
		if love.update then love.update(dt) end -- dt bude 0, ak je module love.timer deaktivovaný
 
		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

Pre staršie verzie funkcie pozri anglickú verziu love.run.

Poznámky

Prečo tu je oneskorenie?

if love.timer then love.timer.sleep(0.001) end

Je tu na niekoľko užitočných veci:

  • Obmedzuje FPS, ak vsync nie je povolený.
  • Masívne redukuje používanie CPU v mnohých situáciach (najmä ak nie je vsync povolený.)

Pre viac informácií pozri tento článok.

Pozri tiež

Ďalšie jazyky