碰撞检测问题

cocos2d一个对象速度足够快的,可能只经历一步就穿越了一个本该和它发生碰撞的对象吗?

— Begin quote from ____

xxzj___yang 发表于 2012-11-7 14:31 url

你在自己做游戏 还是替公司做? 发觉c++好麻烦

— End quote

问个跑题的问题 你cocos2d-x计费是如何做的?

用线段和圆是否相交判断。
o----O----o
移动前后的点构成线段,判断点到直线的距离是否小于两个对象的半径的和就知道是否碰撞了。

— Begin quote from ____

eoe_uou 发表于 2012-10-31 22:48 url

不可能吧 超音速?

— End quote

{:soso_e120:}

— Begin quote from ____

warren 发表于 2012-10-31 23:47 url

, if the object is moving fast , an object may go through another . you should take "v …

— End quote

What do you want to tell?

— Begin quote from ____

void 发表于 2012-11-6 07:38 url

从文档上看,就算设置成bullet,都有可能发生穿越。

— End quote

你在自己做游戏 还是替公司做? 发觉c++好麻烦

在开始移动前,用数学公式的方法,直接计算出一个结果,看是否有碰撞和碰状发生的位置.然后在穿越的那一步遍历,强制物体移动到前面计算出的碰状发生位置.

从文档上看,就算设置成bullet,都有可能发生穿越。

— Begin quote from ____

xxzj___yang 发表于 2012-10-31 20:41 url

有没有解决方案? 3q

— End quote

如果是两个速度不变的物体,可以提前判断碰撞

不可能吧 超音速?

{:soso_e114:} , if the object is moving fast , an object may go through another . you should take “velocity” into account.

可能出现

— Begin quote from ____

xxzj___yang 发表于 2012-11-7 14:31 url

你在自己做游戏 还是替公司做? 发觉c++好麻烦

— End quote

个人。你可以设置bullet属性,只要速度不是太快。

— Begin quote from ____

zhoukaijun 发表于 2012-10-31 17:52 url

可能出现

— End quote

有没有解决方案? 3q

比方他的速度是1,那你就把他的速度分解,在1帧循环30次(这个值你自己估计),每次让他移动1/30,每次做都做碰撞检测,不过你要控制好效率。

高速射击游戏往往不能只依赖于图形的碰撞,在子弹速度高敌人体积又小的情况下,有可能在两帧间隔内子弹已经穿越敌人,导致碰撞失效…计算时 要把速度 考虑进去。

你好,这个速度怎么设 我在做泡泡龙,好像是45度的时候可以穿过静止的泡泡