反弹弹?

问题描述:

当触碰物落在屏幕之外时,我会如何反弹弹丸?反弹弹?

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

我已经安装了的Box2D以及cocos2d中,任何帮助,将不胜感激。 谢谢。

+0

你有碰撞检测吗? –

+0

是的,我愿意。它在屏幕的出口处检测到,以及触及边缘的情况。 –

+0

当它到达+/-最大X墙时,取消X速度。当它到达+/-最大Y墙时,取消Y速度。 –

要将弹丸从物体上弹回,通常需要找到反射矢量r(表面的单位法线矢量)。然后把你的单元速度矢量v,并设置最终速度

r + (r - v)

假设你的表面是完全垂直或水平的,这意味着如果您的弹丸反弹一个壁的唯一,如果反弹的面向x方向的墙,只是否定了速度的x组件。如果它从面向y方向的墙壁反弹,只是否定了速度的y分量。如果发现弹丸同时与两面墙相碰撞,则两者均为否定。

+0

谢谢,真的很有帮助。 –