Sprung Animation

0plan

Bekanntes Mitglied
Hallo, ich wollte mal Fragen, ob mir jemand verraten kann wie man am besten eine Sprunganimation umsetzt. Angenommen ich habe ein Rectangle welches um 100 px hoch und anschließend wieder auf y = boden spring.

Ist es Sinnvoll für den Sprung einen Timer zu implementieren ? Oder anhand einer boolischen Variable while(ist nicht am maximalen Y-Wert) -> springe if(max erreicht) lasse objekt fallen?

Würde mich mal Interessieren wie ihr sowas löst, da ich vorhabe so etwas umzusetzen.

Danke.
 
Ich würde letzteres machen, also Sprung nach oben bis zu höhe x, danach Schwerkraft aktivieren.
Das mit dem timer sollte gehen
Vlt als kleiner Tipp um das zu vermeiden was mir passiert ist: falls du noch andere Objekte animierst, versuch nicht die Animation in einem Schritt durchzuführen, denn währenddessen werden andere Objekte nicht berechnet.

Gesendet von meinem GT-I9100 mit Tapatalk 2
 
oder dem rechteck eine gravity geben und diese gravity erhällt beim springen nach oben einen impuls von unten + die kraft die durch die bewegung (links/rechts) springen entsteht und im gameloop verringert sich die gravity wieder auf normal
 
helgonsPost.replaceAll("gravity", "velocity"); !?! 😉

Man kann dem Objekt eine Geschwindigkeit geben. Diese Geschwindigkeit bewirkt eine Bewegung nach oben. Gleichzeitig wirkt durch die Erdanziehung eine Beschleunigung (eben die Erdbeschleunigung von 9.81m/s², aber für ein Spiel nimmt man eine, die passt). Diese Beschleunigung bewirkt, dass die y-Geschwindigkeit immer geringer wird. Oben in der Parabel ist sie 0, und dann wird sie negativ, und man rast immer schneller auf den Boden zu. DANN kommt die Kollisionserkennung. Viel Spaß 😀 (Naja, ein einfaches [c]if (y<floorHeight) y=floorHeight;[/c] würde es da vielleicht schon tun...)
 
ich meint eigentlich schon gravity, also natürlich nicht nur dem rechteck geben, es muss natürlich eine "herschen" und es würde immer weiter fallen solang wie du schreibst y>floorheight
 
oh brainlaag, hast natürlich recht, oder jedes objekt hat ne eigene gravity und sie verringert sich im gameloop auf normal :bae:
 
Beachte aber die "Collision".
Der Sprung soll ja unterbrochen werden, wenn dein Object mit etwas kollidiert.

Sonst springt es durch alle Hindernisse hindruch 🙂
 

Neue Themen


Zurück
Oben