Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Laufanimation für Spiel » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Zum Ende der Seite springen Laufanimation für Spiel
Beiträge zu diesem Thema Autor Datum
 Laufanimation für Spiel Tommy1234 17.09.2015 21:37
 RE: Laufanimation für Spiel eulerscheZahl 18.09.2015 07:03
 RE: Laufanimation für Spiel Tommy1234 18.09.2015 10:09

Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Tommy1234
Foren As


Dabei seit: 12.07.2015
Beiträge: 93

Laufanimation für Spiel Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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:

code:
1:
2:
3:
4:
5:
6:
7:
8:
if(Keys.right){   
          //Bewegung des Spielers
          x = (x + (speed/fps)); 
          //Animation und Bilder laden wobei counter ein int ist bei 0 beginnend und imgcounter das jeweilige Bild darstellt
          counter++;  
          counter = counter%3;
          imgcounter=counter+3;
}


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
17.09.2015 21:37 Tommy1234 ist offline Beiträge von Tommy1234 suchen Nehmen Sie Tommy1234 in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du brauchst:
  • die gewünschte Geschwindigkeit des Spielers in Pixel pro Sekunde (Nennen wir es mal pps für Pixel per second)
  • Pixel pro Einzelbild (ppf, wie viele Pixel muss sich der Spieler zwischen zwei Bildern bewegen, um eine flüssige Bewegung zu erreichen, hängt von deinen Bildern ab)

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.

__________________
Syntax Highlighting fürs Board (Link)
18.09.2015 07:03 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Tommy1234
Foren As


Dabei seit: 12.07.2015
Beiträge: 93

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.
18.09.2015 10:09 Tommy1234 ist offline Beiträge von Tommy1234 suchen Nehmen Sie Tommy1234 in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Informatiker Board » Themengebiete » Praktische Informatik » Laufanimation für Spiel