Views
Tutorial:Hamster Ball (Deutsch)
Dieses Spiel ist ein sehr einfaches Beispiel, wie man Resourcen (in diesem Fall ein einfaches Bild) zu der Engine hinzu fügt und wie man sie mit den Pfeiltasten herum bewegt. Hier ist der ganze Quellcode, falls du ihn nicht heruntergeladen hast:
-- Füge dem Spiel ein Bild hinzu und bewege es mit den Pfeiltasten.
-- kompatibel mit löve 0.6.0 und höher
function love.load()
hamster = love.graphics.newImage("hamster.png")
x = 50
y = 50
speed = 300
end
function love.update(dt)
if love.keyboard.isDown("right") then
x = x + (speed * dt)
end
if love.keyboard.isDown("left") then
x = x - (speed * dt)
end
if love.keyboard.isDown("down") then
y = y + (speed * dt)
end
if love.keyboard.isDown("up") then
y = y - (speed * dt)
end
end
function love.draw()
love.graphics.draw(hamster, x, y)
end
Es ist nicht des komplizierteste Program der Welt, aber irgendwo müssen wir anfangen. Beachte, dass alles im Code nach den -- Buchstaben ein Kommentar ist und es wird von Program ignoriert.
So, als nächstes muss man wissen, dass man eine Funktion namens load benötigt um alles zum laufen zu bringen. Hier wird das Spiel eingeleitet und hier beginnt alles. Obwohl sie grundsätzlich nicht benötigt werden ist es besser, auch love.update() und love.draw() einzubeziehen. Die Bedeutung der verschiedenen Funktionen werden kurz erklärt.
function love.load()
end
function love.update(dt)
end
function love.draw()
end
So, lasst uns festhalten, was der genaue Quellcode des Spiels tut.
Die load-Funktion sieht wie folgt aus:
hamster = love.graphics.newImage("hamster.png")
x = 50
y = 50
speed = 300
end
Was wir hier tun, ist die Datei hamster.png zu unserem Spiel hinzu fügen. Wir weisen das Bild der Variable namens hamster zu. Auch deklarieren wir drei Variablen: x, y und speed. Sie werden alle ein Teil zum Programm beitragen.
Die update-Funktion sieht so aus:
if love.keyboard.isDown("right") then
x = x + (speed * dt)
end
if love.keyboard.isDown("left") then
x = x - (speed * dt)
end
if love.keyboard.isDown("down") then
y = y + (speed * dt)
end
if love.keyboard.isDown("up") then
y = y - (speed * dt)
end
end
Zuerst wird man sehen, dass die Funktion einen Parameter namens dt akzeptiert (eine Abkürzung für delta-time) welcher die Menge an Zeit repräsentiert, die seit dem letzten Aufruf der Funktion vergangen ist. Es ist in sekunden, aber dank der Geschwindigkeit heutiger Prozessoren ist der Wart normalerweise kleiner als 1 (Werte wie 0.01 sind häufig). Wir werden diesen Wert benutzen um den Hamsterball in der gleichen Geschwindinkeit zu bewegen, unabhängig davon, wie schnell der Computer des Spielers ist.
In der Funktion prüfen wir, ob die Tasten rechts, links, oben oder unten gedrückt sind, indem wir die love.keyboard.isDown(key) Funktion mit ihren angemessenen Parametern (eine Liste aller Tasten kann hier gefunden werden) aufrufen. Wenn eine der rechten Tasten gedrückt wird, wird der x oder y Wert erhöht um den angemessenen Betrag (in diesem Fall um speed mal dt was bedeutet, der Ball bewegt sich mit 300 Pixeln pro Sekunde; versuche den speed Wert in der load-Funktion zu verändern um zu sehen, was geschieht).
Die draw-Funktion sieht wie folgt aus:
love.graphics.draw(hamster, x, y)
end
Es geschieht nicht viel, aber dies ist, wo die Magie geschieht. Das Bild, das die hamster Variable enthält wird gezeichnet bei den x und y Koordinate. Das ist es grundsätzlich, für das erste Spiel. Versuche mit den Variablen in der love.load Funktion zu spielen, um zu sehen, welche Effekte sie haben.
Vergiss nicht, dass .love-Dateien in standard Archivierungssoftware, wie WinZip or 7zip geöffnet werden können. Sie sind eigentlich nur umbenannte .zip-Dateien!
Andere Sprachen
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