使用精灵表中的图像更改精灵纹理

时间:2012-01-14 14:36:51

标签: xcode cocos2d-iphone sprite ccsprite sprite-sheet

这就是我用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];

1 个答案:

答案 0 :(得分:3)

你不能。

CCSpriteBatchNode使用单个纹理。添加到CCSpriteBatchNode的所有sprite必须使用相同的纹理--CCSpriteBatchNode的纹理。

我确信你面临的问题有一个不同的解决方案,从不同的角度考虑一下。例如,只需创建一个新的精灵就可以达到同样的效果。

如果您只想更改精灵的CCSpriteFrame,请使用setDisplayedFrame