0

インスタンスを作成したCCLayer後、同じレイヤーを作成したいと考えています。

CCLayercocos2-x でインスタンスをコピーすることはできますか?

4

2 に答える 2

0

AFAIK、現在cocos2dxにはそのような可能性はありません。したがって、結果レイヤーを返すメソッドにレイヤーの作成を配置し、このメソッドを2回呼び出します。

于 2012-12-12T05:07:01.583 に答える
0

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();

両方のレイヤーが同じ初期アスペクト/構成/内容を共有します。

于 2013-11-18T12:25:24.327 に答える