每帧进行碰撞检测,但是如果精灵移动速度够快或者帧数过小的情况,会出现碰撞检测不到而穿过障碍物的情况,这是因为2帧间隔期间精灵移动的距离直接超过了障碍物,并没有与障碍物相碰。请问下有没有方法解决这个问题或者其他的碰撞检测方案。
如果碰撞物不多可以用提前预判的方式
— Begin quote from ____
zhoukaijun 发表于 2013-9-11 09:35 url
如果碰撞物不多可以用提前预判的方式
— End quote
我就是提前预判的啊,我是每帧更新精灵位置,在更新精灵位置时会判断要更新的位置是否与障碍物相交,如果相交就调整要更新的位置使其与障碍物挨着.
— Begin quote from ____
zhoukaijun 发表于 2013-9-11 09:35 url
如果碰撞物不多可以用提前预判的方式
— End quote
我想到了一个方法就是判断2帧间的移动轨迹是否与障碍物相交而不是仅仅判断目标位置与障碍物是否相交,但是要画出这些轨迹需要一些数学知识,貌似我的高中数学已经全部忘光:(
— Begin quote from ____
?と? 发表于 2013-9-11 12:54 url
我就是提前预判的啊,我是每帧更新精灵位置,在更新精灵位置时会判断要更新的位置是否与障碍物相交,如果相 …
— End quote
你这不叫提前预判,那是实时判断
你得在精灵还未到达时就判断它后面是否会与其他相交
提前一帧 将该帧到下一帧的时间 做差值 计算在这些取出来的差值上 计算是否有碰撞
在touch move中检测碰撞,不管你多快,碰到了就干活了。。。。。。。。。
我试了,这种做法也会穿越的
最后你怎么解决的?
挖的够深的 