CCLayer
인스턴스를 만든 다음 동일한 레이어를 만들고 싶습니다.cocos2x에서 CCLayer 인스턴스를 복사 할 수 있습니까?
CCLayer
인스턴스를 cocos2-x에 복사 할 수 있습니까?
CCLayer
인스턴스를 만든 다음 동일한 레이어를 만들고 싶습니다.cocos2x에서 CCLayer 인스턴스를 복사 할 수 있습니까?
CCLayer
인스턴스를 cocos2-x에 복사 할 수 있습니까?
AFAIK, 이제는 cocos2dx에서 그러한 가능성이 없습니다. 따라서 결과 레이어를 반환하는 메서드에 레이어 만들기를 배치하고이 메서드를 두 번 호출하십시오.
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을 공유합니다 .
나는 지금 cocos2d-x 딥 카피를 지원하지 않는다고 생각한다. 가장 쉬운 방법은 코드를 복사하여 지나치는 것입니다. –