子弹有时会穿透敌人,没有检测到碰撞

求教:
做一个飞船射击类游戏,子弹速度比较快,目前使用的是每帧Update计算位置和方向的方式去做的子弹,和敌人做的矩形碰撞检测,但是有时子弹会穿过障碍物而没有检测到碰撞,我想是不是速度太快,在一帧中没检测到碰撞所以穿了过去。有什么好的解决方法吗?一般大家做太空射击类游戏,都是怎么实现子弹,以及子弹和敌人的碰撞检测的?

建议用物理引擎 这个没问题~~:14:

1赞

我也刚开始学cocos2d-x 同遇到这个问题
就拿子弹的轨迹来说 如果在屏幕上看不见子弹的运行轨迹 或者说肉眼看见的子弹轨迹是间断的
个人理解是因为schedule是根据帧频率来刷新界面的 基本上就监测不到碰撞了
如楼上所说使用物理引擎检测碰撞的话 那子弹的运行轨迹要怎么才能显示出来呢 貌似最大帧频是一个固定的值哦

用BOX2D吧,不然很难做的。除非你是大牛

如果子弹在敌人后方也视为击中, 只检测矩形的三边.

谢谢你的意见,不过我做的游戏中,子弹是点击屏幕位置发射的,所以可能本身就会射击敌人后面的位置。看来只能用物理引擎了。