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];
4

1 に答える 1

3

できません。

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

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

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

于 2012-01-14T15:25:42.010 に答える