Frage

Ich habe einen pygame.Timer in meinem Spiel läuft ein Unentschieden Funktion 32 mal / Sekunde aufgerufen wird. Die Ziehverfahren bekommen Positionen von allen Elementen auf meinem Bildschirm und Blits sie entsprechend. Allerdings mag ich die Hauptfigur herum gehen langsamer als andere Objekte bewegen.

Sollte gesetzt ich dafür einen Timer speziell oder sollte ich blitten nur die gleichen Rahmen mehrmals? Gibt es einen besseren Weg, es zu tun? Ein Schub in der richtigen Richtung wäre genial:)

(Wenn jemand interessiert ist, hier ist der Code, der zur Zeit kontrolliert, was auf die Zeichnung senden Rahmen: http://github.com/kallepersson/subterranean-ng/blob/master/Player.py#L88 )

War es hilfreich?

Lösung

Ihr Spaziergang Fahrradrahmen (wie alle Bewegung) soll eine Funktion der absoluten Zeit, nicht von Bildzählwertes. z.

def walk_frame(millis, frames_per_second, framecount, start_millis=0):
    millis_per_frame = 1000 / frames_per_second
    elapsed_millis = millis - start_millis
    total_frames = elapsed_millis / millis_per_frame
    return total_frames % framecount
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top