2012-01-14 9 views
0

これは、テクスチャフォームをスプライトシートにしてスプライトを作成する方法です。しかし、後でどのようにスプライトのテクスチャを変更するのですか?スプライトシートの画像を使ってスプライトテクスチャを変更する

私はsetTextureを使ってみましたが、うまく動作しません。

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"gameSpriteSheet.plist"];   
CCSpriteBatchNode *spriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"gameSpriteSheet.png"]; 
[self addChild:spriteSheet]; 

// Add hangman graphic sprite to Scene 
playerSprite = [CCSprite spriteWithSpriteFrameName:@"playerX"]; 
playerSprite.position = ccp(580, 400); 
[self addChild:playerSprite]; 

答えて

3

できません。

CCSpriteBatchNodeは、単一のテクスチャを使用します。 CCSpriteBatchNodeに追加されるすべてのスプライトは、CCSpriteBatchNodeのスプライトと同じテクスチャを使用する必要があります。

あなたが直面している問題とは別の解決策があると確信しています。別の角度から考えてみてください。たとえば、新しいスプライトを作成するだけで同じ効果を得ることができます。

スプライトのCCSpriteFrameだけを変更する場合は、setDisplayedFrameを使用してください。

+1

setDisplayedFrame私が必要なもの..ありがとう! –

+0

新しいテクスチャアトラス用の新しいスプライトバッチノードを作成し、後で古いものを削除する方法はありますか? – RollRoll

関連する問題