动作编辑的碰撞区域在代码中如何获取?

开发一个动作类游戏需要用到动作编辑器的参考点和碰撞矩形。但是demo中没找到相关代码
求大神给指点一下,哪怕提示一个函数啥的~~!

没人搭理么?

CocoStudioSamples里面有两个例子都使用到了碰撞,
分别是DemoGame和SampleCollisionTest,楼主可以参考一下

DemoGame那个例子没找到啊???在哪里面??

https://github.com/chukong/CocoStudioSamples 这些示例代码里面

我找找~!先谢了~!

其实楼主是想找一个获取碰撞信息的接口,不需要DEMO提供的BOX2D的碰撞API

对对~!直接通过场景编辑器编辑的场景文件加载的骨骼动画也没有B2Body的信息,是需要手动添加么???那个碰撞区域有森么用??

评论很有道理,赞

物理模块不是单单一个接口就能搞定的。
demo对碰撞需要的各个部分都有,作为参考不是更好么。

场景编辑器里面现在还不支持显示碰撞区域,后期会考虑加入。
在编辑器里面添加碰撞区域十分方便,如果不使用这种方法又想绘制碰撞区,需要把碰撞区域手写在代码中,
就像sample里面子弹的碰撞区域。

貌似获取不了,DEMO都是使用的BOX2D来处理碰撞的,要想不使用BOX2D,那貌似只能自己在代码里面设置setBoundBox();自己设置碰撞框的范围

SampleCollision支持chipmunk和box2d,关于这两个物理引擎,十分多的学习资料。

demo里面的哪些碰撞不或是精灵边界做为碰撞区域或是在代码中手动写的一个矩形
但是再动作编辑器里面是可以编辑碰撞矩形的~!
我就是想问一下在代码中如何获取这些碰撞矩形的数据

除了子弹,其他的碰撞区域都是在编辑器里面绘制的,并不是用的精灵边界。
DemoGame的PhysicalWorld类几个armature的初始化都有涉及到碰撞区域的操作。
你所说的碰撞矩形的数据
b2Body* body = world->CreateBody(&bodyDef);
player->getArmature()->setBody(body);
类似这样的操作后就能通过
player->getArmature()->getBody();来提取这个body信息,你所需要的碰撞的各种信息都在这个body里面,
关于b2Body的操作,可以参考它的头文件

如果要直接提取矩形数据,目前还没这个借口,数据位于
ExportJson的contour_data,如果实在需要,你可以自行提取。

ExportJson的contour_data里的数据感觉也不对啊。。。x,y数据要比编辑器里加的碰撞区域小很多啊。。。。。。

上个版本碰撞区计算出了点问题,会比设置的小很多,这个bug已经修正,请等新版本再看看。

CCBone::getColliderBodyList()

可以获取到 ColliderBody 的 列表

ColliderBody 里面有 CCContourData, 这个 就是 边框信息

学习了~!!