Ich bin ziemlich neu beim Game Maker, und ich habe einige Probleme mit einer Funktion.Ball haftet an Surface Game Maker
Ich mache ein Pong-ähnliches Spiel, und ich renne in ein Problem, wenn der Ball mit der Spitze des Paddels oder den Boden (die kleineren Seiten, nicht auf Gesicht) der Ball und Paddel einfrieren.
Der einzige Code, den ich im Kollisionsereignis des Balls mit dem Paddel habe, ist, die horizontale Geschwindigkeit umzukehren.
hspeed * = -1;
Ich verstehe das Problem, dass, weil der Ball Kontakt mit der Oberseite hat, die horizontale Richtung kehrt, aber es immer noch in Kontakt mit der Oberfläche als die veritcal Geschwindigkeit hat sich nicht geändert, so kehrt wieder und bleibt in einem stecken Endlosschleife.
Ich habe viele Dinge ausprobiert, um ihn zu arbeiten, wie zum Beispiel einen Alarm Einstellung der Ball zu erkennen, ob noch nach einem Rahmen zu berühren und die vertikale Geschwindigkeit (kein Erfolg)
ich auch zu umkehren habe versucht, um zu überprüfen, ob die y-Position der Kugel oben der y-Position der Unterseite des Paddels entspricht (und umgekehrt) und um die vertikale Geschwindigkeit umzukehren, wenn sie wahr ist. aber wieder kein erfolg.
Ich bin sicher, dass diese beiden Methoden funktionieren, wenn der richtige Code verwendet wird, aber ich muss nur falsch ausgeführt werden.
Welche Methode sollte ich verwenden, damit der Ball, wenn er mit der Ober- oder Unterseite kollidiert, nicht stecken bleibt und im Idealfall nur die vertikale statt der horizontalen Geschwindigkeit umkehrt?
Ich bin mir sicher, dass dies eine einfache Lösung hat, aber weil ich neu bin, kann ich es nicht ausarbeiten!
danke!
Ich würde nicht empfehlen, eine andere Instanz für etwas so einfach zu erstellen. – Timtech