我正在製作一個簡單的pong遊戲,並且我希望球只是圍繞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語句中的數字更改爲8而不是0.爲什麼? Here是JFiddle。我可以通過將0更改爲8來解決問題,但我想知道爲什麼會發生這種情況。
@ RokoC.Buljan我增加了速度x3並在左側和頂部添加了10px緩衝區 - 似乎可以工作[https://jsfiddle.net/4y3joq2w/1/] –
Woops對不起我的壞!我錯過了你的恢復點 –
哦,我現在明白了。我一直認爲座標是矩形中的左上角。 –