这就是我用sprite-sheet创建一个带有纹理的sprite的方法。但是我如何在以后更改精灵纹理?
我尝试使用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];
答案 0 :(得分:3)
你不能。
CCSpriteBatchNode使用单个纹理。添加到CCSpriteBatchNode的所有sprite必须使用相同的纹理--CCSpriteBatchNode的纹理。
我确信你面临的问题有一个不同的解决方案,从不同的角度考虑一下。例如,只需创建一个新的精灵就可以达到同样的效果。
如果您只想更改精灵的CCSpriteFrame,请使用setDisplayedFrame。