Sprünge (in Videospielen) simulieren?
Hallo,
zurzeit versuche ich ein Jump 'n' Run zu programmieren. Da ich aber keine Game Engine (Unity, Godot, o.ä.) benutze, weiß ich nicht, wie man Gravitation vernünftig simulieren könnte. Über Hilfe würde ich mich Freuen.
3 Antworten
Du brauchst keine komplette Physik programmieren. Wenn du eine Kollisionsabfrage hast das du nicht durch den Boden fällst ist das schon gut genug. Für einen Sprung musst du deine Figur nur entlang einer Parabel bewegen.
Eine Beschleunigte Bewegnung in y-Richtung, bis zur Kollision.
static g = -9.81;
Sprich für jeden Timestep:
v += g * delta_time;
x += v * t;
Kommt drauf an wie du arbeitest. Im Grunde ist Gravitation in Spielen aber nichts anderes als dass du pro Zeiteinheit eine gewisse Distanz fällst. Das soll aber nur passieren, wenn du dich aktuell nicht im Sprung befindest. Der Sprung selbst ist ja das gleiche, nur umgekehrt.Kommt drauf an wie du arbeitest. Im Grunde ist Gravitation in Spielen aber nichts anderes als dass du pro Zeiteinheit eine gewisse Distanz fällst. Das soll aber nur passieren, wenn du dich aktuell nicht im Sprung befindest. Der Sprung selbst ist ja das gleiche, nur umgekehrt.
Bei Kollision mit dem Boden stoppt das Ganze dann.