Arrays Can';t让CCPointArray在Cocos2D-x中工作

Arrays Can';t让CCPointArray在Cocos2D-x中工作,arrays,point,cocos2d-x,Arrays,Point,Cocos2d X,我想创建一个点数组(_网格)。然而,我似乎不能在任何地方使用这个CCPointArray,除了在其中创建它的函数。我尝试在我的类中公开它,并在标题中声明它,但都失败了。有什么建议吗?之后 CCPointArray* p = CCPointArray::create(8); 你打电话了吗 p->retain(); ? 记住在析构函数或onExit()中释放它 在您的_CLASS.h文件中 class YOUR_CLASS : public cocos2d::CCLayer { C

我想创建一个点数组(_网格)。然而,我似乎不能在任何地方使用这个CCPointArray,除了在其中创建它的函数。我尝试在我的类中公开它,并在标题中声明它,但都失败了。有什么建议吗?

之后

CCPointArray* p = CCPointArray::create(8);
你打电话了吗

p->retain();
?

记住在析构函数或onExit()中释放它

在您的_CLASS.h文件中

class YOUR_CLASS : public cocos2d::CCLayer {
    CCPointArray* p;
public:
    CREATE_FUNC(YOUR_CLASS);
    bool init();
    void onExit();
}
在您的_CLASS.cpp文件中

bool YOUR_CLASS::init(){
    if(CCLayer::init()){
         p = CCPointArray::create(8);
         p->retain();
         return true;
    }
    return false;
}

void YOUR_CLASS::onExit(){
    CCLayer::onExit();
    p->release();
    p = NULL;
}

哦,我真傻。非常感谢你。在哪里可以找到“onExit()”?@DavidSmall您应该在您自己的类和您自己的onExit()中覆盖超类虚拟onExit()函数,记住调用您的超级类::onExit()@DavidSmall如果您的类不是cocos2d节点类的子类,只需在析构函数中调用release()。@user1201239实际上您不能。因此,您需要将其放入.h文件中,以便在类实例中保留对该地址的引用。@DavidSmall很抱歉,我昨天完成工作后忘记了它,在这里。