CCArmature 镜像问题

我的CCArmature子节点绑定了一个box2d形状(初始化生成一个body),当我把CCArmature翻转的时候,绑定的body属性就变了,本来m_isSensor是false 有变成true,重新set body还是没效果.

一个翻转前,一个翻转后.

一个翻转前,一个翻转后

:8:,大家说怎么上传图片的啊! D:\ 不行, 放到QQ空间也不行.

这个是缩放后的,感觉m_isSensor变成true了. 所有静态刚体都对角色没有影响了.

这个是缩放前的,很正常, 角色可以正常的踩在地面上

因为你对CCArmature进行操作时,无论是移动还是缩放,CCArmature都会把自己原有的fixture给删了,重新载入坐标点,再画上新的形状。
你跟进setBody看,你会发现它默认的b2FixtureDef的传感器是true。
你把这个地方改成false,之后你创建的刚体传感器都是false。

谢谢 a694797585, 这个源代码我改过了,我把默认为true ,改成 以参数形式传进去的. 而且,在翻转后重新setBody,发现还是一样.

@hanrea 大哥求指导啊. 研究了很久,发现应该是引擎的bug. setScaleX setScaleY 如果值为正的,不会有问题,为负数,就都会出现问题.

d :883:

找到问题所在了, 是bv.Set(helpPoint.x / PT_RATIO, helpPoint.y / PT_RATIO); 这句话引起的, 好像是box2d 不能这用 shape 来set位置,这样会导致刚体被穿透.

抱歉,这个帖子可能五一假期被压贴了,今天刚看到,以后如果有问题不能及时回复,可以QQ联系我。