我的CCArmature子节点绑定了一个box2d形状(初始化生成一个body),当我把CCArmature翻转的时候,绑定的body属性就变了,本来m_isSensor是false 有变成true,重新set body还是没效果.
一个翻转前,一个翻转后.
一个翻转前,一个翻转后
,大家说怎么上传图片的啊! D:\ 不行, 放到QQ空间也不行.
这个是缩放后的,感觉m_isSensor变成true了. 所有静态刚体都对角色没有影响了.
这个是缩放前的,很正常, 角色可以正常的踩在地面上
因为你对CCArmature进行操作时,无论是移动还是缩放,CCArmature都会把自己原有的fixture给删了,重新载入坐标点,再画上新的形状。
你跟进setBody看,你会发现它默认的b2FixtureDef的传感器是true。
你把这个地方改成false,之后你创建的刚体传感器都是false。
谢谢 a694797585, 这个源代码我改过了,我把默认为true ,改成 以参数形式传进去的. 而且,在翻转后重新setBody,发现还是一样.
d :883:
找到问题所在了, 是bv.Set(helpPoint.x / PT_RATIO, helpPoint.y / PT_RATIO); 这句话引起的, 好像是box2d 不能这用 shape 来set位置,这样会导致刚体被穿透.
抱歉,这个帖子可能五一假期被压贴了,今天刚看到,以后如果有问题不能及时回复,可以QQ联系我。