pygame auf der stelle laufen?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Du brauchst ein Sprite Sheet, welches jede einzelne Laufbewegung des Spielcharakters (Frames) abbildet. Entweder in Form von mehreren Einzelbildern oder in einem Bild.

Die Bilder müssen geladen und geordnet in eine Liste gepackt werden. Wenn du alle Frames auf nur einem Bild hast, wäre stattdessen eine Liste praktisch, die die Positionen der Frames (z.B. repräsentiert mittels Tupels) beinhaltet.

Den aktuellen Frame (bzw. den Index des Frames in der Liste) merkst du dir in einer eigenen Variable.

Bei jedem draw-Call prüfst du anschließend, ob der Spieler seinen Charakter bewegt. Wenn ja, zählst du die Indexvariable um 1 nach oben, holst dir den entsprechenden Frame aus der Liste und lässt ihn zeichnen. Solltest du am Ende der Liste ankommen, muss die Indexvariable wieder auf einen Anfangszustand gesetzt werden.