0

Cocos2DでCCAnimationsをキャッシュするためのベストプラクティスはありますか?現在、私は基本的に、スプライトが画面に表示されるたびに、スプライトの「表示」アニメーションを再計算しています。どういうわけか、インスタンスクラスにアニメーションをキャッシュするのは賢明ではないでしょうか?

現在、私はこのコードを特定のゲーム条件で何千回も実行しています。

CCSpriteFrameCache* frameCache = [CCSpriteFrameCache sharedSpriteFrameCache];
[frameCache addSpriteFramesWithFile:@"WichserAnimations.plist"];

NSMutableArray* frames = [NSMutableArray arrayWithCapacity:8];
for (int i = 41; i <= 48; i++) {
    NSString* file = [NSString stringWithFormat:@"intro_prep__Main_000%i.png", i];
    CCSpriteFrame* frame = [frameCache spriteFrameByName:file];
    [frames addObject:frame];
}

CCAnimation* anim    = [CCAnimation animationWithSpriteFrames:frames delay:0.05f];
CCAnimate*   connect = [CCAnimate actionWithAnimation:anim];        
[self runAction:connect];

後で再利用するために「接続」CCAnimateオブジェクトをスプライトに入れることを考えましたが、これは機能しないようです:(アドバイスをいただければ幸いです。

4

1 に答える 1

1

アニメーションキャッシュクラスはと呼ばれCCAnimationCacheます。

于 2012-09-11T10:54:34.987 に答える