如何在播放动画的同时保持物理碰撞的检测?

引擎:cocos2d-x+box2d工具:spriteHelper+levelHelper
问题描述:为了实现松鼠将松果踢出的效果,我在spriteHelper里做了组动画,30帧,对于每帧都加一个fixture,不同的帧之间fixture形状相差较大。播放松鼠踢的动画时,发现当松鼠某一帧的fixture和松果的fixture发生了接触,但是没有发生任何物理碰撞效果,使用contact listener也没有检测到他们之间的任何碰撞。看起来很像是播放动画的时候,物理引擎一直是用的第一帧的fixture,而忽略了后续动画帧的fixture,所以没有任何碰撞。如果一开始就让他们有接触,是可以检测到碰撞的,验件了这个猜测。我改了很多参数,比如disable松鼠sleep,设置为dynamic,都没有成功。
那么,如何能在播放动画时用每一帧的fixture去做检测呢?非常感谢!

自己顶先

那肢解松鼠好了!不要做为一个整体!

— Begin quote from ____

super_user_zyc 发表于 2012-9-4 09:21 url

那肢解松鼠好了!不要做为一个整体!

— End quote

肢解后各个部分也有动画,也一样要面临这个问题

引擎不支持在播放动画过程中动态改变fixture,所以只能用其他的方式把这问题绕过去