私は現在、ゲームメーカーで Pong クローンを作成しています (ゲームメーカーでの最初のスタンドアロンプロジェクト)。
ボールがパドルにぶつかったら、x_speed
反転(取って向きを逆にする* -1
)します。しかし、ボールがパドルの上または下に当たると、ボールはパドルの内側に引っかかり、絶えず変化しますx_speed
が、パドルから出ることができません。
私の質問は何が問題なのかということではありませんが、この問題を回避する実用的な方法はありますか?
私は place_meeting メソッドを実装しようとしましたが失敗しましたが、ボールがパドルの上部または下部に当たったかどうかを検出するために他のいくつかの方法を試しましx
たy
。
誰かがアイデアを持っている場合 (ソリューションのコードは必ずしも必要ではありません。ゲームに実装できるようにするためのアイデアだけです。これまでのところ、
私は他の解決策を試しましたが、どれも近づきませんでしたので、ここに表示しても意味がありません. 私のプログラムから他のコード スニペットが必要な場合は、お問い合わせください。
ボールのステップ:
//Checking if it touches the borders of the play area
if (x <= 0) {
x_speed *= -1;
obj_score_left.gameScore += 1;
}
if (x + width >= room_width) {
x_speed *= -1;
obj_score_right.gameScore += 1;
}
if (y <= 0) y_speed *= -1;
if (y + height >= room_height) y_speed *= -1;
//Adds the x and y speeds to x and y
x += x_speed;
y += y_speed;