2014-03-01 2 views
3

cocos2d 2.x에서는 CCTexture를 사용하여 CCSprite의 이미지를 변경합니다. 하지만 cocos2d 3.x CCTextureCache는 Xcode가 나를 경고하는 것처럼 사용되지 않을 것 같습니다 : "선언되지 않은 식별자 'CCTextureCache'". 아니면 코코스를 처음 접했을 때 나는 뭔가를 놓칠 수도 있습니다.cocos2d v3.x에서 CCSprite의 이미지를 변경하는 방법

그래서 어떻게 v3에서 CCSprite의 이미지를 변경할 수 있습니까 ??

감사합니다.

답변

8

나는 어떻게 해야할지 알고 있습니다.

  1. 우리는 TexturePacker와 내장 spriteSheet 사용해야합니다 : 예를 들어 [메모가 SO에 같은 외부 자원에 대한 말을 잘못 될 수있다 (우리는이 개 이미지가의 말을하자 : monster_01.png 및 monster_02.png) .
  2. 우리는 우리가 캐시
  3. 에 spritesheet을 넣고 우리가 spritesheet의 항목을 사용하여 프레임과 CCSprite를 만들 수 있습니다 엑스 코드
  4. 에 .plist과 .PNG를 추가합니다.
  5. 이 이미지는 변경 될 수 있습니다.

일부 코드 : 우리는 캐시에 넣어

3)

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"monsterSpriteSheet.plist"]; 

4) 우리는 이미지를 변경하려면 스프라이트

CCSprite * mySprite = [CCSprite initWithSpriteFrame: [CCSpriteFrame frameWithImageNamed: @"monster_01.png"]]; 

5)를 만들 :

[mySprite setSpriteFrame:[CCSpriteFrame frameWithImageNamed: @"monster_02.png"]]; 

이것은 cocos2d v3과 완벽하게 작동합니다.

나는이 과정을 진행하는 데 6 시간을 보냈다. 때로는 어리 석다.

+0

굉장합니다. 바보 같은 짓 하지마. 이 질문에 대한 Google 검색의 90 % 이상은 나에게 cocos2d v2 또는 초기에 대한 답변을 제공합니다. 나는 너의 포스트를 찾기 위해 스릴이었다. 하나의 정정. SpriteWithSpriteFrame, initWithSpriteFrame 있어야합니다 생각합니다. – honkskillet

0

는이

CCSpriteFrameCache를 사용하여 작업을 수행 할 수 있습니다, 그 후에 당신은 ccsprite의 기능 setSpriteFrame를 사용하여 당신이 스프라이트 변경할 수 있습니다.

+0

앞으로는 코드를 작성하십시오. @ Pax의 답변을 참조하십시오. – honkskillet