Skip to content

Animation

ProgrammierenPygame Zero

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:

Δs=Δtv
python
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!

Δv=Δtg

Gymnasium Kirchenfeld, fts