Laufanimation für Spiel |
| 17.09.2015, 21:37 | Auf diesen Beitrag antworten » | |||||
| Tommy1234 | Laufanimation für Spiel Hallo, Ich programmiere gerade ein kleines Kachelbasiertes Spiel und hab mit dem Spieler angefangen. Dieser ist ein kleines Männchen (soll ein Robin Hood sein) dessen Einzelbilder auf einem großen Bild also ein Spriteheet vorliegen. Ich habe also jedes Einzelbild als SubImage mit den entsprechenden Werten herausgeschrieben und diese werden korrekt angezeigt. Die Laufanimation läuft korrekt ab und die Bilder werden entsprechend der Reihenfolge angezeigt, wenn ich beispielsweise nach rechts drücke. In meiner Spielschleife berechne ich die FramesPerSecond was ebenfalls funktioniert. Nun zu meinem Problemchen: Das Problem ist nun, dass die Animation zwar richtig angezeigt wird, aber viel zu schnell. Und Robin bewegt sich als solcher sehr langsam. Hier mal der Code:
Der speed ist auf 100 und die FPS beträgt konstante 30. Wie kann ich erreichen, dass sich das Sprite schneller bewegt und die Animation langsamer abläuft. Am Besten wäre es natürlich, wenn die Animation analog zur jeweiligen Bewegung abliefe. Das wäre aber dann eine Interpolation vermute ich aber mehr weiss ich jetzt auch nicht. Wäre für Hilfe sehr dankbar, Gruss Tommy |
|||||
|
|
||||||
| 18.09.2015, 07:03 | Auf diesen Beitrag antworten » | |||||
| eulerscheZahl | Du brauchst:
Daraus kannst du eine Idealzahl für die fps berechnen: 1/fps = ppf/pps (Zeit = Weg/Geschwindigkeit). Wenn das zu ruckelig ist, musst du Interpolieren, oder du brauchst mehr Bilder. Aber deine Formel sollte passen (x += speed/fps), du musst nur speed so wählen, dass es zur Animation passt. |
|||||
| 18.09.2015, 10:09 | Auf diesen Beitrag antworten » | |||||
| Tommy1234 | Hallo bin selbst draufgekommen. Man muss nur den counter um einen niedrigeren Wert erhöhen. Bei mir läufts mit 0.25f einigermaßen augenfreundlich ab. Also je größer die counter-Schrittweite, desto schneller die tatsächliche Animation. Und danke trotzdem für die Antwort. |
|||||
|
|
