我如何在重力作用下弹回球?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何在重力作用下弹回球?相关的知识,希望对你有一定的参考价值。
我一直在尝试用重力弹跳帆布周围的球。每次球击中侧壁或底壁时,x和y的速度应降低。由于球只是从墙壁上掉下来,因此以下代码未起作用。
<canvas id="canvas" width="200" height ="200"></canvas>
var Ball=function(color)
this.color=color;
this.x =100;
this.y =100;
this.xSpeed =5;
this.ySpeed =3;
;
Ball.prototype.move =function ()
this.x += this.xSpeed;
this.y += this.ySpeed;
;
Ball.prototype.checkCollison =function ()
if(this.x < 0 )
if(this.xSpeed >0)
this.xSpeed--;
else if(this.xSpeed<0)
this.xSpeed++;
this.xSpeed = -this.xSpeed;
else if(this.x >200)
if(this.xSpeed >0)
this.xSpeed--;
else if(this.xSpeed<0)
this.xSpeed++;
this.xSpeed = -this.xSpeed;
else if(this.y < 0 )
if(this.ySpeed>0)
this.ySpeed--;
else if(this.ySpeed<0)
this.ySpeed++;
this.ySpeed = -this.ySpeed;
;
请告诉我您是否有解决方案。
答案
经过反复试验,我终于找到了这部分代码的答案:
Ball.prototype.checkCollison =function ()
if(this.x <= 0 )
if(this.xSpeed <0)
this.xSpeed++;
this.xSpeed = -this.xSpeed;
this.x=1;
else if( this.x >= 200)
if(this.xSpeed > 0)
this.xSpeed--;
this.xSpeed = -this.xSpeed;
this.x--;
else if( this.y >= 200)
if(this.ySpeed >0)
this.ySpeed--;
this.ySpeed = -this.ySpeed;
this.y--;
else if(this.y<=0)
this.ySpeed=-this.ySpeed;
;
尽管感谢大家的帮助,感谢您的努力。
以上是关于我如何在重力作用下弹回球?的主要内容,如果未能解决你的问题,请参考以下文章