如何使用Cocos2d-x创建一个全级CCArray?

时间:2013-06-04 02:35:40

标签: android c++ cocos2d-x

经过几年的Objective-C,我才开始学习C ++和Cocos2d-x。今晚的障碍似乎是学习如何将CCArray功能用作全班变量。

HelloWorldScene.h

class HelloWorld : public cocos2d::CCLayer
{

public:
    // Here's a difference. Method 'init' in cocos2d-x returns bool, instead of returning 'id' in cocos2d-iphone
    virtual bool init();  

    // there's no 'id' in cpp, so we recommand to return the exactly class pointer
    static cocos2d::CCScene* scene();

    // a selector callback
    void menuCloseCallback(CCObject* pSender);

    // implement the "static node()" method manually
    CREATE_FUNC(HelloWorld);

    // static Array of tiles
    static cocos2d::CCArray* uniquetiles;
};

HelloWorldScene.cpp

uniquetiles=CCArray::create();
uniquetiles->addObject(d00);

当我尝试运行代码时,我收到错误提示“未定义引用'Helloworld :: uniquetiles'

我在这里做错了什么?看起来这应该是直截了当的。

2 个答案:

答案 0 :(得分:3)

您应该在类定义中添加此变量。

private:
    CCArray* uniquetiles;

答案 1 :(得分:0)

您正在使用静态CCArray,因此您需要在CPP文件中重新声明它:

cocos2d::CCArray* HelloWorld::uniquetiles;