是否可以在cocos2x中复制CCLayer实例?

时间:2012-12-11 08:01:14

标签: cocos2d-x

我创建了一个CCLayer实例,然后我想创建相同的图层。

是否可以在cocos2-x中复制CCLayer实例?

2 个答案:

答案 0 :(得分:0)

AFAIK,现在在cocos2dx中没有这种可能性。因此,只需将图层创建到将返回结果图层的方法并调用此方法两次。

答案 1 :(得分: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。