インスタンスを作成したCCLayer
後、同じレイヤーを作成したいと考えています。
CCLayer
cocos2-x でインスタンスをコピーすることはできますか?
AFAIK、現在cocos2dxにはそのような可能性はありません。したがって、結果レイヤーを返すメソッドにレイヤーの作成を配置し、このメソッドを2回呼び出します。
cocos2d-x でのオブジェクトのコピー/ディープ コピーはオプションではありません。
最善の方法は、レイヤーのカスタム クラスを作成し、メソッドを 2 回呼び出して::create()
同じレイヤーの 2 つのインスタンスを作成し、すべての初期構成を共有することです。
で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();
両方のレイヤーが同じ初期アスペクト/構成/内容を共有します。