0

私は現在、ゲームメーカーで Pong クローンを作成しています (ゲームメーカーでの最初のスタンドアロンプ​​ロジェクト)。

ボールがパドルにぶつかったら、x_speed反転(取って向きを逆にする* -1)します。しかし、ボールがパドルの上または下に当たると、ボールはパドルの内側に引っかかり、絶えず変化しますx_speedが、パドルから出ることができません。

私の質問は何が問題なのかということではありませんが、この問題を回避する実用的な方法はありますか?

私は place_meeting メソッドを実装しようとしましたが失敗しましたが、ボールがパドルの上部または下部に当たったかどうかを検出するために他のいくつかの方法を試しましxy

誰かがアイデアを持っている場合 (ソリューションのコードは必ずしも必要ではありません。ゲームに実装できるようにするためのアイデアだけです。これまでのところ、

私は他の解決策を試しましたが、どれも近づきませんでしたので、ここに表示しても意味がありません. 私のプログラムから他のコード スニペットが必要な場合は、お問い合わせください。

ボールのステップ:

//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;
4

2 に答える 2