这是我在多种语言中遇到的普遍问题。当我第一次学习这门语言时,我尝试做的第一件事就是制作一个弹跳球。
但是,每次我这样做时,都会遇到一个非常烦人的问题 - 球只是在底部不断弹跳一点。
这是我今天在学习 Html5 Canvas 时遇到的问题的示例 - http://pastebin.com/aM1svKMJ
您可以将其复制并粘贴到 HTML 文件中,然后根据需要自行运行。尽管我将其设置为每次反弹后损失 20% 的“能量”,但它仍会在底部继续反弹一点。
如果有人能指出我的错误,我将不胜感激
最佳答案
您可以使用球的原始 y 坐标,并使用其与当前 y 坐标的比率来减少“e”除以灵敏度常数。 对我有用:
//line 46 add:
var initHeight = height / 2;
//line 83:
this.vy *= -1 * e;
e = e - (e* (initHeight / this.y ) / 10);
这是一个工作示例:http://jsfiddle.net/57tx3/
关于javascript - 简单的弹跳球不会停止弹跳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5750398/