Difference between revisions of "love.run (Polski)"

(Created page with "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ć. == Funk...")
 
 
Line 1: Line 1:
 
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ć.
 
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ć.
 +
 +
== Funkcja ==
 +
{{newin (Polski)|[[11.0]]|110|type=variant}}
 +
=== Sygnatura ===
 +
<source lang="lua">
 +
mainLoop = love.run ( )
 +
</source>
 +
=== Argumenty ===
 +
Brak.
 +
=== Wartość zwracana ===
 +
{{param|function|mainLoop|Funkcja, która obsługuje jedną klatkę, włączając w to obsługę zdażeń i renderowanie.}}
 +
 
== Funkcja ==
 
== Funkcja ==
 +
{{oldin (Polski)|[[11.0]]|110|type=variant}}
 
=== Sygnatura ===
 
=== Sygnatura ===
 
<source lang="lua">
 
<source lang="lua">
Line 9: Line 22:
 
=== Wartość zwracana ===
 
=== Wartość zwracana ===
 
Żadna
 
Żadna
 +
 
== Przykłady ==
 
== Przykłady ==
=== Domyślna implementacja funkcja w wersji [[0.9.0]] ===
+
=== Domyślna implementacja funkcja w wersji [[11.0]] ===
 +
<source lang="lua">
 +
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
 +
</source>
 +
 
 +
=== Domyślna implementacja funkcja w wersjach [[0.10.0]], [[0.10.1]], [[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
 +
 
 +
-- 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
 +
</source>
 +
 
 +
=== Domyślna implementacja funkcja w wersjach [[0.9.0]], [[0.9.1]], [[0.9.2]] ===
 
<source lang="lua">
 
<source lang="lua">
 
function love.run()
 
function love.run()
Line 24: Line 137:
 
if love.load then love.load(arg) end
 
if love.load then love.load(arg) end
  
-- Nie chcemy, by czas jaki zajęło wywołanie funkcji load miał wpływ
+
-- 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
 
         -- na  wartość zmiennej dt przekazanej przy pierwszym wywołaniu love.update
 
if love.timer then love.timer.step() end
 
if love.timer then love.timer.step() end
Line 55: Line 168:
  
 
-- Wywołanie funkcji love.update oraz love.draw
 
-- 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.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
 
if love.window and love.graphics and love.window.isCreated() then
Line 70: Line 183:
 
</source>
 
</source>
  
=== Domyślna implementacja funkcja w wersji 0.8.0 ===
+
=== Domyślna implementacja funkcji w wersji [[0.8.0]] ===
 
<source lang="lua">
 
<source lang="lua">
 
function love.run()
 
function love.run()
Line 106: Line 219:
  
 
-- Wywołanie funkcji love.update oraz love.draw
 
-- 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.update then love.update(dt) end  -- jeżeli moduł love.timer został wyłączony, jako dt zostanie przekazane 0
  
 
if love.graphics then
 
if love.graphics then
Line 119: Line 232:
 
end
 
end
 
</source>
 
</source>
=== The default function for 0.7.0, 0.7.1 and 0.7.2, used if you don't supply your own. ===
+
=== omyślna implementacja funkcji w wersjach [[0.7.0]], [[0.7.1]] and [[0.7.2]] ===
 
<source lang="lua">
 
<source lang="lua">
 
function love.run()
 
function love.run()
Line 129: Line 242:
 
-- Główna pętla
 
-- Główna pętla
 
while true do
 
while true do
 +
-- Uaktualnij wartość dt, która będzie przekazana do love.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 -- jeżeli moduł love.timer został wyłączony, jako dt zostanie przekazane 0
+
 
 +
-- 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
 
if love.graphics then
 
love.graphics.clear()
 
love.graphics.clear()

Latest revision as of 17:35, 27 August 2018

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ć.

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