2012-01-14 6 views
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]; 

답변

3

수 없습니다.

CCSpriteBatchNode는 단일 텍스처를 사용합니다. CCSpriteBatchNode에 추가 된 모든 스프라이트는 동일한 텍스처, 즉 CCSpriteBatchNode의 텍스처를 사용해야합니다.

내가 직면 한 문제에 대한 다른 해결책이있을 것이라고 생각합니다. 다른 각도에서 생각해보십시오. 예를 들어 새로운 스프라이트를 생성하면 동일한 효과를 얻을 수 있습니다.

스프라이트의 CCSpriteFrame 만 변경하려는 경우 setDisplayedFrame을 사용하십시오.

+1

setDisplayedFrame 그냥 필요한 것 .. 감사합니다! –

+0

그가 원하는 텍스처 맵에 대해 새로운 스프라이트 배치 노드를 생성하고 나중에 이전 아트웍을 제거하는 것은 어떻습니까? – RollRoll

관련 문제