【发布时间】:2013-11-23 22:32:53
【问题描述】:
这是我发现的公式:
r = v - [2 (n · v) n]
我就是这样申请的
//Calculating normal
nx = 350 - SmileyReds[i].xpos ;
ny = 350 - SmileyReds[i].ypos ;
//new calc
v_newx = SmileyReds[i].xspeed - (2 *( nx * SmileyReds[i].xspeed + ny * SmileyReds[i].yspeed ) ) * nx;
v_newy = SmileyReds[i].yspeed - (2 *( nx * SmileyReds[i].xspeed + ny * SmileyReds[i].yspeed ) ) * ny;
SmileyReds[i].xspeed = v_newx;
SmileyReds[i].yspeed = v_newy;
但球没有弹跳,而是在到达边界时消失:
完整的src和预览http://jsfiddle.net/gj4Q7/4/
感谢您的宝贵时间,欢迎提供任何提示!
【问题讨论】:
-
我还没有解决所有问题,但我已经解决了一些问题jsfiddle.net/gj4Q7/3 btw 为什么会有这么多循环?我已经删除了大部分。
-
@plalx 非常感谢你,我知道循环不是必需的,但是当弹跳正常工作时,我打算最后将它们结合起来,在你的版本中,红色笑脸正在消失圈子:(你知道为什么吗?
-
是的,这就是为什么我说“修复了一些事情”。也许如果你告诉我你在哪里找到公式以及在哪里解释它,我可以提供帮助。
-
@plalx here : gamedev.stackexchange.com/questions/33384/… 我发现错误并更新了小提琴,但一段时间后笑脸仍然粘在圆圈边界上并离开圆圈...
标签: javascript html math canvas vector