这是我的jsfiddle:http://jsfiddle.net/seekpunk/s54RM/
如您所见,当圆碰到x边框时,它卡在那里了,我该如何修改我的更新函数,使其在碰到边框时向后移动:
if(Bluecircle.x==xborder) {
Bluecircle.x -= 0.5;
}
else {
Bluecircle.x += 0.5;
}
最佳答案
将方向存储为变量,并在达到边界击中条件时翻转其符号。
var xDir = 0.5;
// ... then in your update function
if(Bluecircle.x>=xborder || Bluecircle.x <= 0) {
xDir *= -1;
}
Bluecircle.x += xDir;
这将在屏幕的左右两侧反弹。