私はCCSpriteBatchNode
このような構成で持っています:
CCSpriteBatchNode
ChildA1
ChildB1
ChildB2
....
ChildB999
ChildA2
ChildA3
...
すべての子(ChildA1、ChildB1、ChildA2 ...)がCCSprite
オブジェクトである場合。CCSpriteBatchNode
およびすべての子ですが、次のChildA1
方法で作成されます。
[CCSprite spriteWithSpriteFrameName:@"FileName.png"];
ChildA1
このように作成されます:
// Create Parent Sprite
CCSprite* childA1 = [[CCSprite alloc] init];
childA1.contentSize = CGSizeMake(37.5,37.5);
childA1.anchorPoint = ccp(0,0);
[batchNode addChild:childA1 z:0 tag:1];
// Add Child Sprites
[childA1 addChild:childB1 z:0 tag:1];
[childA1 addChild:childB2 z:0 tag:1];
[childA1 addChild:childB3 z:0 tag:1];
// Continue adding childB4-childB999
注:これは問題なくレンダリングされ、期待する出力が表示されます。ここで、childB1
の位置は相対的childA1
であり、移動すると移動しchildA1
ますchildB1
。
私の質問はこれです:それぞれの図面でパフォーマンスの向上が見られますかchildB1
?childB999
私が理解していることから、すべての子を一緒に描画することにより、CCSpriteBatchNode
内のすべての子の描画を最適化します。これはそれらの子供にも当てはまりますか?CCSpriteBatchNode
CCSprites
CCSprites
私がこれを行っている理由を知りたい人のために:このゲーム内には多くのレイヤーがあり、内のグループCCSprites
内でグループ化すると、そのスプライトのグループの親のみを操作することでグループを操作できます。CCSprite
CCSpriteBatchNode
CCSprites