0

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

CCLayercocos2-x中是否可以复制实例?

4

2 回答 2

0

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

于 2012-12-12T05:07:01.583 回答
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();

并且两个层将共享相同的初始方面/配置/其他。

于 2013-11-18T12:25:24.327 回答