Cocos2d iphone ccSpriteBatchNode子边界框变换

Cocos2d iphone ccSpriteBatchNode子边界框变换,cocos2d-iphone,rotation,bounding-box,ccspritebatchnode,Cocos2d Iphone,Rotation,Bounding Box,Ccspritebatchnode,我正在使用cocos2d1.0.1 我已经创建了一个CCSpriteBatchNode,它包括一个CCSprite(让我们把它命名为parentLayer),其中包含一些X个child(CCSprite) 问题是-当我旋转parentLayer时,所有精灵(Child)都正确显示,但是边界框位于同一位置(它们在旋转之前所在的位置),因此这些精灵的世界坐标不会更改 当然,如果没有CCSpriteBatchNode,上述所有功能都非常有效。但是,我想使用批处理节点,因为涉及到大量的精灵 问题是,有没

我正在使用cocos2d1.0.1

我已经创建了一个CCSpriteBatchNode,它包括一个CCSprite(让我们把它命名为parentLayer),其中包含一些X个child(CCSprite)

问题是-当我旋转parentLayer时,所有精灵(Child)都正确显示,但是边界框位于同一位置(它们在旋转之前所在的位置),因此这些精灵的世界坐标不会更改

当然,如果没有CCSpriteBatchNode,上述所有功能都非常有效。但是,我想使用批处理节点,因为涉及到大量的精灵


问题是,有没有办法相应地更新边界框和子对象的位置?

我们谈论的是多少精灵?我只需要使用一个快速枚举调用来单独旋转每个枚举。我在做这件事的时候从来没有注意到一个表演的冲击,是吗

CCArray *listOfChildren = [parentLayer children];
for (CCSprite *sprite in listOfChildren) {
    [sprite setRotation:someValue];
}

谢谢你的快速回复。我尝试过这种方法,但它不会改变孩子的坐标。所有的孩子都有一个正方形,他们的固定点==0.5f,0.5f,所以他们只会在相同的地方旋转。但是,可以将锚点更改为层的中心,然后旋转,但是我会对碰撞和其他内容进行非常复杂的计算。如果有一种方法可以将子对象的锚点设置为基于父对象的锚点位置,那么您的解决方案将非常有效。