CCTexture2D CCSpriteBatchNode CCTextureCache CCSpriteFrameCache 分析

CCTexture2D 是对OpenGL中二位纹理的类包封,可以通过图片和内存数据来生成对应的二维纹理,实际的纹理图片可能会比生成的纹理图片要小,生成的纹理图片的大小为不小于其大小的2的N次方。还需要注意的是生成的纹理内容与纹理图片是倒着的。所以在纹理对应坐标的时候咱们需要将Y轴倒过来,否则纹理图片的对应会出错。


CCSpriteBatchNode是对CCSprite节点的批处理,可以对一组精灵节点进行一次绘制。而且批处理的精灵节点是可以共享纹理数据的,这样不仅仅节省了内存空间,也提高了绘制的效率,对于游戏中出现的怪或者是敌人可一次进行处理。


CCTextureCache是一个单体纹理缓冲类,可以通过增加图片数据来生成对应的词典,根据文件名称来返回纹理对象(CCTexture2D)。可以通过纹理数据的共享来节省程序的内存开销。


CCSpriteFrameCache主要是针对帧缓冲,主要用于动画,特别需要注意的是CCSpriteFrameCache将会缓冲滞留(也就是调用CCObjec的retain()接口来增加对象的引用计数),因此其内存开销并不会在程序中自动释放,如果一旦某个动画帧缓冲不在使用,需要我们调用CCSpriteFrameCache::sharedSpriteFrameCache()->removeUnusedSpriteFrame()来移除相应的动画。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值