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 回答