Kleines SFML Game, Flüssige Bewegungen in einem Raster
-
Hallo Leute,
Ich schreibe gerade ein kleines Programm. Das Spielfiguren sollen sich ähnlich wie bei Pokemon in einem Raster bewegen können ( bei mir ist ein Viereck 30 * 30 Pixel groß ). Der Code Für die bewegung sieht bis jetzt so aus:
if(sf::Keyboard::isKeyPressed(sf::Keyboard::W)) { if(GoClock.getElapsedTime().asSeconds() > 0.1) { PlayerSprite.move(0,-30.0); mView.move(0,-30.0); GoClock.restart(); } }
so springt sich die Spielfigur mit einem Tastendruck alle 0,1 Sekunden in das nächste Viereck. Ich frage nun wie ich die Bewegung flüssig hinkriege, ohne das sich die Figuren aus dem Raster hinausbewegen.
Schon mal Danke im Voraus
-
Speichere bei Tastendruck nur eine veränderte Zielposition. Dann misst du die Zeit bei jedem Frame (das tust du bisher hoffentlich ohnehin) und bewegst deine Figur einen zeitabhängigen Betrag in die Richtung der Zielposition.
-
Sorry aber ich verstehe nicht ganz wie du das meinst. Könntest du evtl. ein Beispiel schicken?
-
MrBambi schrieb:
Sorry aber ich verstehe nicht ganz wie du das meinst. Könntest du evtl. ein Beispiel schicken?
die bewegung pro frame ist die zielposition minus die startposition durch die Anzahl der Frames in der die Bewegung fertig sein soll.
-
Achso. In Ordnng jetzt läuft es so wie ich es wollte. Danke für die Antworten.