1

cocos2d 1.0.1 を使用しています。

CCSpriteBatchNode を作成しました。これには、X 個の子 (CCSprites) を含む CCSprite (parentLayer と名付けましょう) が含まれています。

問題は、parentLayer を回転すると、すべてのスプライト (子) が正しく表示されますが、バウンディング ボックスが同じ場所 (回転前の場所) にあるため、それらのスプライトのワールド座標が変更されないことです。

もちろん、上記のすべては CCSpriteBatchNode がなくてもうまく機能します。しかし、関係するスプライトの量が多いため、バッチ ノードを使用したいと考えています。

問題は、境界ボックスと子の位置をそれに応じて更新する方法はありますか?

4

1 に答える 1

0

何個のスプライトについて話しているのですか? それぞれを個別に回転させるために、高速な列挙呼び出しを使用するだけです。これを行っているときにパフォーマンスの低下に気付いたことはありませんね。

CCArray *listOfChildren = [parentLayer children];
for (CCSprite *sprite in listOfChildren) {
    [sprite setRotation:someValue];
}
于 2012-11-08T08:41:34.310 に答える