【已解决】用Box2D做CCArmature的碰撞检测怎么做?

PhysicsWorld单例里有BoneColliderSignal信号,将它连接上你的回调函数
PhysicsWorld::sharedPhysicsWorld()->BoneColliderSignal.connect(this, &TestBox2DDetector::onHit);

骨骼动画API使用说明的文档后面是这么写的,但是找不到sharedPhysicsWorld,还是不知道怎么用,求高手

— Begin quote from ____

%url%天啊 发表于 2013-8-20 16:01
armature = CCArmature::create(xx);
新版就是多了下面的这个
body = PhysicsWorld->CreateBody(BodyDef) …

— End quote

感谢!!学习中!

— Begin quote from ____

%url%天啊 发表于 2013-8-20 15:02
新版的CCArmature不再使用sharedPhysicsWorld了,所以要自己创建一个PhysicsWorld来使用,旧版本有个CCPhys …

— End quote

啊呀呀,终于有高手回了,拜托帮人帮到底吧,我知道怎么创建PhysicsWorld,也知道怎么导入Armature,但是新版不用sharedPhysicsWorld了,我还是不知道新版怎么做碰撞检测呀。

拜托方便的话贴两行代码吧,谢谢啦!!!:kiss:

能不能再具体一些??我在研究碰撞这东西~!
有没有代码片段啊??

我也是在纠结碰撞问题 动作编辑器里加了碰撞数据可却不知道怎么取出来。。。。据说是必须得用box2d才行。。。。
我就是想获取个碰撞信息而已。。。
我觉得编辑器应该针对碰撞数据这方面修改下。。。在碰撞区那地方添加个能编辑碰撞块的功能 例如:碰撞块级别 碰撞块编号等功能。。。在获取碰撞数据方面最好能
用当前CCArmature的对象来直接获取碰撞数据 碰撞块编号的信息。。。。

— Begin quote from ____

引用第4楼freddyfei于2013-10-19 12:52发表的 :
我也是在纠结碰撞问题 动作编辑器里加了碰撞数据可却不知道怎么取出来。。。。据说是必须得用box2d才行。。。。
我就是想获取个碰撞信息而已。。。
我觉得编辑器应该针对碰撞数据这方面修改下。。。在碰撞区那地方添加个能编辑碰撞块的功能 例如:碰撞块级别 碰撞块编号等功能。。。在获取碰撞数据方面最好能
用当前CCArmature的对象来直接获取碰撞数据 碰撞块编号的信息。。。。 http://www.cocoachina.com/bbs/job.php?action=topost&tid=158632&pid=841457

— End quote

我现在也需要这个功能,同求啊~~~~~

好像还没有接口可以取出来,在setB2Body()这个函数中会吧骨骼动画的碰撞信息写入到body里面然后可从body取得碰撞数据信息。

我在调用setB2Body()时会报错:
Assertion failed!

Program: …rojects\testAni\proj.win32\Debug.win32\testAni.exe
File: d:\cocos2d-x-2.2.0\external\box2d\c…\b2polyg…ape.cpp
Line: 137

Expression: edge.LengthSquared() > 1.192092896e-07F * 1.192092896e-07F

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts

有没有遇到过,怎么解决