cocos2d-x 语法学习

在初始化成功 才会返回数据 否则返回NULL



/创建一个渲染目标纹理。  

    CCRenderTexture *pRet = new CCRenderTexture();  

    //调用相应的初始化函数。  

    if(pRet && pRet->initWithWidthAndHeight(w, h, eFormat))  

    {  

        //成功后交由内存管理器进行管理。  

        pRet->autorelease();  

        return pRet;  

    }  

    //不成功则释放置空返回NULL。  

    CC_SAFE_DELETE(pRet);  

    return NULL;  

  字符串 追加

    char png[20];  

    sprintf(png, "image-%d.png", counter);  

 



析构函数的使用



 



//析构  

CCRenderTexture::~CCRenderTexture()  

{  

    //释放FBO  

    glDeleteFramebuffers(1, &m_uFBO);  

    //释放深度缓冲  

    if (m_uDepthRenderBufffer)  

    {  

        glDeleteRenderbuffers(1, &m_uDepthRenderBufffer);  

    }  

    //释放  

    CC_SAFE_DELETE(m_pUITextureImage);  

    //移除监听响应函数。  

    CCNotificationCenter::sharedNotificationCenter()->removeObserver(this, EVENT_COME_TO_BACKGROUND);  //使用到了监听  释放监听

}  

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      



//析构  

RenderTextureSave::~RenderTextureSave()  

{  

    //对占用的目标纹得和刷子精灵的引用计数减一。  

    m_pBrush->release();  

    m_pTarget->release();  

    //纹理管理器释放不用的纹理。  

    CCTextureCache::sharedTextureCache()->removeUnusedTextures();  

}  

 



//如果游戏有很多场景,在切换场景的时候可以把前一个场景的内存全部释放,防止总内存过高.



 



CCTextureCache::sharedTextureCache()->removeAllTextures();// 释放到目前为止所有加载的图片



 



CCTextureCache::sharedTextureCache()->removeUnusedTextures();//将引用计数为1的图片释放掉



CCTextureCache::sharedTextureCache()->removeTexture(); //单独释放某个图片



 



CCSpriteFrameCache 与 CCTextureCache //释放的方法差不多。

 

你可能感兴趣的:(cocos2d-x)