2012-12-11 9 views
0

CCLayer 인스턴스를 만든 다음 동일한 레이어를 만들고 싶습니다.cocos2x에서 CCLayer 인스턴스를 복사 할 수 있습니까?

CCLayer 인스턴스를 cocos2-x에 복사 할 수 있습니까?

+0

나는 지금 cocos2d-x 딥 카피를 지원하지 않는다고 생각한다. 가장 쉬운 방법은 코드를 복사하여 지나치는 것입니다. –

답변

0

AFAIK, 이제는 cocos2dx에서 그러한 가능성이 없습니다. 따라서 결과 레이어를 반환하는 메서드에 레이어 만들기를 배치하고이 메서드를 두 번 호출하십시오.

0

cocos2d-x에서 개체를 복사/딥 복사하는 것은 옵션이 아닙니다.

가장 좋은 방법은 레이어에 대한 사용자 지정 클래스를 만든 다음 ::create() 메서드를 두 번 호출하여 동일한 레이어의 인스턴스 두 개를 만들고 모든 초기 구성을 공유하는 것입니다. MyLayer.h에서

:

USING_NS_CC; 

class MyLayer : public CCLayer { 
public: 
    CREATE_FUNC(MyLayer); 

    virtual bool init(); 
}; 

MyLayer.cpp에 :

다음
bool MyLayer::init() { 
    if (!CCLayer::init()) 
    return false; 

    // Insert here all custom initialization logic 

    return true; 
} 

쉽게 수행 할 수 있습니다

MyLayer *layer1 = MyLayer::create(); 
MyLayer *layer2 = MyLayer::create(); 

을 두 층이 같은 초기 화면/구성/whatelse을 공유합니다 .

관련 문제