0

私はこれを私のメインクラスで宣言しています:

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"atlas.plist"];
CCSpriteBatchNode *batchNode = [CCSpriteBatchNode batchNodeWithFile:@"atlas.png"];

今、私は別のクラスにいて、新しいbatchNodeを作成したいのですが、メインクラスで宣言されたアトラスからspriteFramesを取得します。それ、どうやったら出来るの?これらの同じ行を他のクラスに再度配置する必要がありますか?そうすることで、冗長な画像をsharedSpriteFrameCacheにインポートできますか?私の考えは、無駄ではなく、メモリを節約することです。

手がかりはありますか?ありがとう。

4

1 に答える 1

1

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"atlas.plist"];これらのスプライト フレームを削除していなければ、再度呼び出す必要はありません。

スプライトを配置する別のバッチ ノードを作成する必要があります。

スプライト フレームをもう一度キャッシュに追加しようとしても、スペースを無駄にすることはありません。スプライト フレームは 1 回だけ追加されますが、cocos2D がファイルを解析して各スプライト フレームが実際にすでに追加されています。

于 2012-06-12T15:21:12.977 に答える