两个Armature的动画怎么碰撞

最近在写一个横版格斗游戏,到后期,英雄要出招跟怪物碰撞,我想知道。
为什么我使用了接口

if (mHero->getBoundingBox().intersectsRect(mEnemyOne->getBoundingBox()))

这样的,碰撞不是区域碰撞。仔细新建了个项目做了个测试。 让一个英雄和怪物在同一水平线,英雄从左边到右边移动,经过怪物,使用了
mHero->getBoundingBox().intersectsRect(mEnemyOne->getBoundingBox())

最终碰撞的地方发生在两个精灵的锚点,就是各自的中间位置。此时两个sprite是碟在一起。。锚点对锚点。如图:

我于是改了英雄的锚点为中间的右边,怪物的锚点为中间的左边。发现结果发生碰撞!碰撞地点如下。

我再次更改英雄锚点为中间右边,怪物锚点为中点不动,碰撞发生位置:

似乎很靠谱。我把碰到的时候,场景暂停取消掉。结果。他碰到后,由于只做了一件事,输出一句 log(“now is hit!”); 外,英雄继续往右走,此时,碰撞检测在步进器一直开着,英雄穿过
怪物身体没有碰撞,也就说,他跟怪物只发生了一次碰撞。碰撞的地点只在怪物的那把刀的左边位置。

再次觉得不靠谱。

于是我取消了英雄的锚点改为原来默认的中点,怪物锚点为左边中间。结果没发生碰撞。英雄直接从怪物走过去。。我不知道原因

有没人告诉我。补充下:

两个动画是用cocostudio作出来的。。难道是cocostudio的问题吗。

在线等。。可以加我Q728161446讨论下