有哪位大神知道,3.x版本封装物理引擎后,如何获取b2Fixture这个对象

有哪位大神知道,3.x版本封装物理引擎后,如何获取b2Fixture这个对象,我想获取下这个对象,找了半天没有找到接口,这个对象中可以设置sensors属性

封装的已然不是box2d,怎么可能获取b2Fixture这个对象。

那也是在原来的物理引擎基础上封装的呀。我主要是想用下物理引擎里面的碰撞检测,但是不需要做碰撞处理,现在两物体发生碰撞,一个物体被弹开了(我需要两物体可以重叠到一起,不影响运动轨迹)

哎,封装的是chipmunk,又不是box2d,怎么可能有b2Fixture呢?

两个都封装了

既然你这么肯定都封装了那你继续吧,恕我我无知了。

你是不是版本的原因,我在网上看到android平台和xcode里面如何设置切换物理引擎的,有配置项

我只相信源码

http://www.tairan.com/archives/5431

我那个碰撞物体形状不规则,比较复杂,包围盒碰撞检测自己写会比较复杂,就想直接用物理引擎的碰撞检测了。这么说来,我只能用没有封装前的box2d的API来做了

多说点吧,今天心情不太好。
1.我没看过网上的文章,我只知道官方文档从来没有说过同时封装了box2d和chipmunk,官方只说了用chipmunk作为内置2d物理引擎。
2.封装物理引擎的那部分代码也没有任何box2d相关的引用,只有chipmunk的,所以不可能存在同时封装了box2d和chipmunk的情况。
3.chipmunk应该也有类似的碰撞设置可以达到你的目的,不过我从来不用chipmunk所以也不知道怎么用,帮不了你了。
4.使用box2d跟封不封装没有任何关系,任何一个版本可以直接使用。

那就用原始的box2d试试

根本就不能切换引擎,你被官方骗了。我去翻了下引擎的源码,发现封装只是封装chipmunk2D而已,找不到半点box2d的影子。。。
所谓的切换,就是直接使用原来的BOX2D,当然,没有封装,全部手动实现。而且这个官方封装的引擎不仅效率低,BUG多,功能还很局限。
唯一的好处就是使用方便。当还不如自己封装下BOX2D。

— Begin quote from ____

引用第12楼jeason1997于2015-07-25 19:18发表的 回 4楼(releax008) 的帖子 :
根本就不能切换引擎,你被官方骗了。我去翻了下引擎的源码,发现封装只是封装chipmunk2D而已,找不到半点box2d的影子。。。
所谓的切换,就是直接使用原来的BOX2D,当然,没有封装,全部手动实现。而且这个官方封装的引擎不仅效率低,BUG多,功能还很局限。
唯一的好处就是使用方便。当还不如自己封装下BOX2D。 http://www.cocoachina.com/bbs/job.php?action=topost&tid=314968&pid=1355345

— End quote

是的,我现在就碰到问题了,因为,用封装的接口,碰撞的时候产生了物体弹开的现象,在开始碰撞onContactBegin的里面我直接返回false,这样阻止了反弹现象。但是另外一个问题出现了。我发现oncontactbegin和oncontactseprate函数在一个物体穿越过一个物体的时候,两个函数被触发了N次,完全没有逻辑性,照理说应该都只触发一次才是最合理的。不知道问题出在哪里,不知道是不是开始接触的返回值被设置为false的原因。
另外,还有个问题,兄台不知道有没有好的建议,对于不规则的物体,碰撞区域,我现在在spine中是通过设置N个bone来勾勒出轮廓,然后在代码中获取各个bone点的位置信息,然后创建多边形给body用于碰撞区域检测。但是现在有一个问题,在动画中如果是旋转的动画,物体只采用一张图片,然后,我通过在每帧设置事件来更新物体轮廓的多边形信息。发现这个多边形信息在动画旋转时一直没有变化。而将每帧的图片都设置为不一样时,就可以获取不同的轮廓信息了。不知道问题出在什么地方?现在暂时还只想到用多个bone来,不知有没有更好的方案