这是我的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;


这将在屏幕的左右两侧反弹。

10-05 22:31