私は単純なポンゲームを作っています。私はボールをHTML5キャンバスの周りにバウンドさせたいだけです。右と下の境界線から正確に跳ね返りますが、上と左の境界の内側には少し行きます。ゲームのボールがボーダーで止まり、戻ってくるのはなぜですか?
コード:
if(ballY<=0){
ballSpeedY = -ballSpeedY;
}
else if(ballY>=HEIGHT-10){
ballSpeedY = -ballSpeedY;
}
if(ballX >= WIDTH-10){
ballSpeedX = -ballSpeedX;
}
else if(ballX <= 0){
ballSpeedX = -ballSpeedX;
}
それが国境付近にある場合はここで私は、ボールの速度を変更します。正しく動作させるには、if文の数値を0ではなく8に変更する必要があります。それはなぜですか? HereはJFiddleです。私は0から8に変更するだけで問題を解決できますが、なぜこれが起こるのか知りたいのです。
@ RokoC.Buljan私は速度x3を増やし、左と上に '10px'バッファを追加しました - ここで動作するように思われます(https://jsfiddle.net/4y3joq2w/1/) –
Woops申し訳ありません私の悪い!私はあなたの回復ポイントを逃した –
ああ、私は今理解しています。私はいつも座標が長方形のような左上の角だと思っていました。 –