在初始化成功 才会返回数据 否则返回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 //释放的方法差不多。