Bewegtes Objekt bleibt plötzlich stehen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Bewegtes Objekt bleibt plötzlich stehen

    Hallo zusammen

    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!
  • Das Problem liegt wohl in der Tatsache, dass alle Objekte auf Solid stehen.
    Solid würde ich generell nur Objekte machen, die sich nie bewegen.

    Keine Sorge, die Kollisionen werden auch so noch durchgeführt.
    Hier werden sie geholfen:
    [Regeln] [GML] [Hilfe] [Suche] [Posten] [Duden.de]
    [Wenn das alles nicht mehr hilft] [Dunning-Kruger]


    "Die Vernunft sollte Autorität definieren; nicht umgekehrt!"
    "Selber denken regt das Gehirn an."
    - Niffel f.k.a. Kilik
  • Hi Kilik

    Vielen Dank für die schnelle Rückmeldung. Nachdem ich den Balken und den Ball auf non-solid gestellt habe, scheint alles tiptop zu funktionieren! Ich glaube es kaum, dass die Lösung in der Tat so simpel ist, vor allem in Anbetracht all der vielen verschiedenen Dinge, die ich ausprobiert habe.

    Nochmals besten Dank!