
我认为您将需要三件事,即力(您拥有的x和y),速度(分别称为xVel和yVel)和位置(您也拥有的xPos和yPos)。球的位置通过以下方式更新(以最简单的方式):
xPos += dt*xVel; yPos += dt*yVel;xVel += dt*x;yVel += dt*y;
变量“ dt”是 时间步长 ,它控制球的移动速度。但是,如果设置的太大,程序将不稳定!尝试dt = 0.001左右开始并逐渐将其设置得更高。
然后,要使球从墙壁反射,只要撞到墙壁,只需反转速度即可:
if (xPos > xMax) { xPos = xMax; xVel *= -1.0;} else if (xPos < 0.0) { xPos = 0.0; xVel *= -1.0;}和y相同。“ xPos =
…”只是为了阻止球离开屏幕边缘。如果您希望球每次碰到墙时d跳的次数都少一些,请将’-1.0’更改为’-0.9’或类似的东西(这是恢复原状的系数)。
希望这就是全部。祝好运!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)