Cocos2d 2.1rc0 を使用しています。
CCSpriteBatchNode を使用していないときに完全に機能していたこのプロジェクトがあります。次に、バッチ ノードを使用してドロー コールを減らすことにしたところ、問題が発生しました。
多くのことがうまく機能していません。reorderChild は 1 つです。もう 1 つは runAction で、runAction がなければ Cocos は役に立ちません。
これは、batchNodes なしで機能し、batchNodes では機能しないメソッドの例です。
// move/rotate all objects
for (int i=0; i<[allObjects count]; i++) {
Card *object = [allObjects objectAtIndex:i];
[object stopAllActions];
CGPoint center = object.position;
center.x = center.x + 100;
center.y = center.y - 200;
CCMoveTo *moveAction = [CCMoveTo actionWithDuration:0.3f position:ccp(center.x, center.y)];
CCRotateTo *rotateAction = [CCRotateTo actionWithDuration:0.3 angle:0.0f];
CCSpawn *action = [CCSpawn actions:moveAction, rotateAction, nil];
[object runAction:[CCSequence actions: action,
[CCDelayTime actionWithDuration:0.1f],
nil]];
}
まったく何も起こりません。
CCSpanw を排除し、移動だけで runAction を直接使用しようとしましたが、何も機能しません。通常のスプライトを使用すると機能します。
その配列内のオブジェクトは、CCSprite ベースのクラスから派生します。
回避策はありますか?