私は小さなiPadゲームを作成しましたが、スプライトシートとバッチノードはいたるところにあります。ただし、実際にどのように機能するのか、いつスプライトシートを追加するのか、いつスプライトバッチノードにスプライトを追加するのかなどはわかりません。
これは私が最初の画面(メインメニュー)で行うことです:
CCSpriteBatchNode *spriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"sprites.png"];
screenSize = [CCDirector sharedDirector].winSize;
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"sprites.plist"];
[self addChild:spriteSheet];
他のクラスでは-私は常に同じバッチノードを使用する必要があります->"sprites.png"-私は呼び出します
CCSprite *someSprite = [CCSprite spriteWithSpriteFrameName:someSpriteFrameName.png];
に追加しself
ます。
[self addChild:someSprite]; // I do not understand why I would add my sprite to the batch node instead of self
したがって、状況は次のとおりです。
すべてのスプライトがオンになっている「sprites.png」というファイルが1つあります。
- シーンを変更するたびに新しいバッチノードを作成しますか?spriteframecacheは同じままである必要がありますか?
- 2つのスプライトシートファイルがある場合、スプライトフレームキャッシュをどのように処理する必要がありますか?
- バッチノードに子を追加するのはいつですか。その理由は何ですか。
コンセプトを完全に把握しているわけではないようです。私はそれを使用する理由をおおよそ知っています。でも、誰かが私にすべてを素人の言葉でもう一度説明してくれたら本当にありがたいので、私は自分が何をしているのか100%確信しています。基本的に説明してみてください。
- どうもありがとうございました-マーティン