【已解决】骨骼动画碰撞过滤问题

请问在碰撞检测返回函数中,如何检测是哪两个物体产生的碰撞?

还有,我在例子中修改了armature和armature2的groupIndex,如:

b2Filter f1;
f1.groupIndex = 1;
cs::ColliderDetectordetector =armature2->getBone(“Layer122”)->getDisplayManager()->getCurrentDecorativeDisplay()->getColliderDetector();detector->setColliderFilter(f1);
f1.groupIndex = 2;
cs::ColliderDetector
detector1 =armature->getBone(“Layer142”)->getDisplayManager()->getCurrentDecorativeDisplay()->getColliderDetector();detector1->setColliderFilter(f1);但是子弹还是和角色2的身体发生了碰撞,这是怎么回事啊?我代码写错了吗?那应该怎么实现啊?

— Begin quote from ____

%url%jyinkailej 发表于 2013-7-26 13:23
设置 tag 也可以吧
下个版本 会由 用户 自己设置 物理 系统的各种

— End quote

谢谢回复啊!!现在软件还有一些bug,但是希望它能越来越壮大啊!!

感谢支持:lol

第一个问题解决了

我查看了test项目,回调函数式这个样子的

void TestBox2DDetector :: onHit(cocos2d::extension::CCBone *bone, cocos2d::extension::CCBone *bone2)

其中bone 和 bone2就是碰撞的两个物体,不过由于没有先后顺序,所以经过测试,如果两个骨骼A和B发生碰撞,那么会成对的调用这个onHit,那么如何判断主动和被动呢?

我是使用设置bone的父armature的Tag值来确定对象的
if(bone2->getArmature()->getTag() == 5)
bone2->getArmature()->setVisible(false);
// armature2->setVisible(false);

设置 tag 也可以吧
下个版本 会由 用户 自己设置 物理 系统的各种

— Begin quote from ____

%url%qin3956 发表于 2013-7-26 10:56
第一个问题解决了

我查看了test项目,回调函数式这个样子的

— End quote

在物理上,都是相对运动,所以是没有主动和被动的。

感谢支持:lol

设置 tag 也可以吧
下个版本 会由 用户 自己设置 物理 系统的各种