0

经过几年的 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' 的引用”

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

4

2 回答 2

3

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

private:
    CCArray* uniquetiles;
于 2013-06-04T14:46:22.397 回答
0

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

cocos2d::CCArray* HelloWorld::uniquetiles;
于 2013-06-06T06:07:29.617 回答