删除CCSprite的双指针?

时间:2013-01-11 05:51:27

标签: cocos2d-iphone cocos2d-x

我正在为CCSprite使用双指针。对于指针指针,我正在做新的,然后创建然后使用cocos2d通常的方法创建 我应该如何在以下情况下删除双指针

 CCSprite **mCBg;

 mCBg = new CCSprite*[mNumberBackgound];

//for loop for creating sprites 
 mCBgLayer[i]= CCSprite::create("Sprites/level1.png");

由于Create会自动添加到内存池

使用“new”创建的对象怎么样如何在析构函数中删除它们

 if(mCBg)
{
    CC_SAFE_DELETE_ARRAY(mCBgLayer);
}

如果我这样做,我会在析构函数中崩溃 请给出解释说明。所以我可以理解cocos2d-x的内存管理

1 个答案:

答案 0 :(得分:0)

Cocos2d-x使用Reference CountAutoReleasePool来管理内存。

函数CCSprite::create()的实现使用autorelease()。您不需要释放内存,或者引用计数小于0;更多细节请参阅: http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Reference_Count_and_AutoReleasePool_in_Cocos2d-x