Изменить текстуру спрайта с изображением из спрайт-листа - PullRequest
0 голосов
/ 14 января 2012

Так я создаю спрайт с текстурой из листа спрайта.Но как мне изменить текстуру спрайтов позже?

Я пытался использовать 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 Ответ

3 голосов
/ 14 января 2012

Вы не можете.

CCSpriteBatchNode использует одну текстуру.Все спрайты, добавленные в CCSpriteBatchNode, должны использовать одну и ту же текстуру - CCSpriteBatchNode.

Я уверен, что есть другое решение проблемы, с которой вы сталкиваетесь, подумайте об этом с другой стороны.Например, вы можете добиться того же эффекта, просто создав новый спрайт.

Если вы хотите изменить только CCSpriteFrame спрайта, используйте setDisplayedFrame .

...