反弹弹丸?

时间:2012-06-12 12:22:28

标签: java android cocos2d-iphone box2d

如果抛射物落在屏幕外面,我怎么能反弹?

我的代码: http://pastebin.com/qs3kyaTc

我安装了Box2d以及cocos2d,任何帮助将不胜感激。 感谢。

1 个答案:

答案 0 :(得分:0)

要使物体从物体上反弹,通常需要找到反射矢量r(表面的单位法向量)。然后获取单位速度矢量v,并将最终速度设置为

r + (r - v)

假设你的表面是完全垂直或水平的,这意味着如果你的抛射物只从一面墙上反弹,如果它从面向x方向的墙壁反弹,只需否定{{1}你速度的组成部分。如果它从面向x方向的墙反弹,只需取消速度的y分量。如果发现你的射弹同时与两面墙碰撞,那么就否定两者。

相关问题