2014-04-23 3 views
0

SpriteBuilder에서 physicsEnabled 및 몇 가지 물리 속성이있는 애니메이션 CCSprite를 만든 새 .ccb 파일을 만들었습니다. 특정 시점에서 애니메이션 된 CCSprite를 메뉴에 그려 넣고 싶습니다. 필자는 피직스 부분이 필요 없기 때문에 CCSprite와 애니메이션 (키 프레임 세트)을 복사하기 때문에 전체 .ccb 파일의 복사본을 만들고 싶지 않습니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까?애니메이션 CCSprite 재사용

답변

0

Xcode에서 새 클래스를 만든 다음 해당 클래스의 새 객체를 만들어 메뉴에 추가하기 만하면됩니다. 다음 단계를 설명합니다 :

SpriteBuilder에서 새 .ccb 파일로 이동하고 CCSprite의 내용 Node를 선택합니다. (생성 한 .ccb 파일의 종류, 장면, 스프라이트, 노드 ...에 따라 다름) 그런 다음 코드 연결로 이동하여 사용자 정의 클래스의 이름 (예 : MyAnimatedSprite)을 선택하십시오.

이제 Xcode로 이동 한 다음 프로젝트에 CCNode 유형의 새 파일을 만들고 이름을 'MyAnimatedSprite'로 지정하십시오.

마지막 단계는이 스프라이트를 메뉴에 추가하는 것입니다.

이전에 physic node가 메뉴 .ccb 파일에 추가되어 있어야하며 .m 파일에도 선언되어야합니다. 왜냐하면 스프라이트에 물리학이 활성화되었다고했기 때문입니다. 가지고 있지 않다면 스프라이트 빌더를 원하는 위치에 추가하고 코드 연결로 이동하여 사용자 클래스 인 Doc Root Var를 선택하고이 예제 ('_physicsNode')를 호출하십시오.

이제 메뉴 엑스 코드에서 클래스, 단순히이 라인 메뉴로 스프라이트 클래스를 추가 :

@implementation Menu{ 

..... YOUR CODE ..... 
CCPhysicsNode *_physicsNode; //add physics node if you don't have it 

} 


-(void) didLoadFromCCB{ 

//create a new object of type MyAnimatedSprite 
CCNode *myAnimatedSprite = [CCBReader load:@"MyAnimatedSprite"]; 

...YOUR CODE.... 

} 

그리고 당신은 완벽하게 작동 메뉴에서 스프라이트를해야합니다 :)

+0

그것은 이상 약간 아닌가 물리학을 계산하고 싶지 않은 물리 노드를 사용하려고 죽일까요? –

+0

당신은 CCSprite가 물리학을 사용할 수 있다고 말했으므로 메뉴에 추가하는 경우 Sprite를 추가 할 수 있도록 PhysicsNode가 있어야합니다. 그렇지 않으면 – mursang

+0

네,하지만 물리학을 해제하고 애니메이션 스프라이트를 복사하고 싶습니다. 가능하지 않니? –