Hallo zusammen
Nun aber mein Problem: Beim Austesten des Spiels bleibt der Ball ab und zu, d.h. in der Regel so alle 10 bis 15 Minuten, einfach stehen. Meistens bleibt der Ball in der Nähe eines Blocks stehen, also wohl grad nach einer Kollision. Ein Debugging hat mir dann die folgenden Koordinaten des stehen gebliebenen Balls gegeben:
x: 374.8902354000
y: 333.1532266000
direction: 90.0572605000
speed: 24
hspeed: -0.0239852299
vspeed: -24
friction: 0
gravity: 0
gravity_direction: 270
Ich habe vor ein paar Wochen GM entdeckt und bin wie so viele begeistert von seinen Möglichkeiten. Seit einiger Zeit bin ich nun daran, ein kleines Breakout Game zu erstellen. Dabei versuche ich nun schon seit etwa einer Woche das nachfolgende Problem in den Griff zu bekommen.
Zuerst aber kurz zum Kontext: Mein room sieht so aus, dass ich mit soliden Objekten einen Rahmen links, rechts und oben am Bildschirm gesetzt habe. Am unteren Bildschirmrand sitzt der Balken, den ich mit den Pfeiltasten nach links oder rechts bewegen kann. Im Rahmen drin habe ich verschiedene Blöcke, die nach einer Berührung mit dem sich im Raum bewegenden Ball verschwinden. Sämtliche Objekte sind auf solid eingestellt und aktuell habe ich nirgends das "precise collision checking" aktiviert. Mit Ausnahme des Balkens wird der Ball von jedem Objekt mit einem "Bounce against all objects" reflektiert. Den Balken habe ich so programmiert, dass der Ball umso mehr nach links wegspickt, je weiter links der Ball den Balken berührt (dito für die rechte Seite). Das ganze funktioniert bei einer ersten Betrachtung des Games eigentlich so wie gewollt.
Nun aber mein Problem: Beim Austesten des Spiels bleibt der Ball ab und zu, d.h. in der Regel so alle 10 bis 15 Minuten, einfach stehen. Meistens bleibt der Ball in der Nähe eines Blocks stehen, also wohl grad nach einer Kollision. Ein Debugging hat mir dann die folgenden Koordinaten des stehen gebliebenen Balls gegeben:
x: 374.8902354000
y: 333.1532266000
direction: 90.0572605000
speed: 24
hspeed: -0.0239852299
vspeed: -24
friction: 0
gravity: 0
gravity_direction: 270
Wenn ich im Debugging-Modus die Richtung des Balls manuell ändere, dann bewegt sich der Ball wieder weiter! Irgendwie scheint der Ball also an einen Ort zu gelangen, an dem er sich trotz vorhandenem Speed und Richtung nicht weiterbewegen kann (wenn man die obigen Koordinaten im Debugging Modus so eintippt, dann kann man das Phänomen replizieren). Ein weiteres Problem, das eventuell damit zusammenhängen könnte, besteht auch darin, dass der Ball ganz selten nicht von einem Block abprallt, sondern durch ihn hindurchfliegt. Einige Male hatte ich auch das Phänomen, dass der Ball innerhalb eines solides Objekts festsass und sich nicht mehr bewegte (davon habe ich leider grad keine vergleichbaren obigen Koordinaten zur Hand).
Ich bin für jegliche Hilfe und Anregungen sehr dankbar!
Ich bin für jegliche Hilfe und Anregungen sehr dankbar!