Wie die meisten Spiele, haben auch Computerspiele einen Teil der sich immer wiederholt. Wir sprechen vom sogenannten Game-Loop: Nachdem alles vorbereitet wurde, sozusagen die Spielkarten verteilt sind, beginnt dieser.
Animation
Der Game-Loop ruft das Unterprogramm update
immer wieder auf. Dabei übergibt der Game-Loop die verstrichene Zeit seit dem letzten Aufruf als Argument dt
. Damit kann im Unterprogramm an Hand der Geschwindigkeit der Objekte ihr in der Zwischenzeit zurückgelegter Weg berechnet werden:
zorg.vx = 10
def update(dt):
delta_x = dt * zorg.vx
zorg.x = zorg.x + delta_x
- Zeile 1
- Zorgs Startgeschwindigkeit in x-Richtung
- Zeile 4
- der in der Zeit
dt
zurückgelegte Weg wird berechnet - Zeile 5
- Zorg wird um den zurückgelegten Weg verschoben
Aufgabe: vertikale Bewegung
Schaffst du es den Alien vertikal zu Bewegen?
Und diagonal? und leicht diagonal?
Zusatzaufgabe: Freier Fall
Kannst du den Alien runterfallen lassen, inklusive Beschleunigung?
Im obigen Beispiel hat der Alien eine konstante Geschwindigkeit nach rechts. Nun müsste er eine vertikale Geschwindigkeit erhalten, die zunimmt – am Besten mit einer Gravitationsbeschleunigung!