Cocos2d-x中的精灵

精灵的继承关系


精灵的性能优化:

使用纹理图集:也称为精灵表,是将许多小的精灵图片组合到一张大图里面。优点有 :

1.减少文件读取次数
2.减少OpenGL ES绘制调用并且加速渲染
3.减少内存消耗

运用图片集方式为什么会减少内存碎片?

原因:OpenGL分配给每个图片2的n次幂大小的内存空间,及时这张图片达不到这样的高度和宽度也会分配大于次图片的2的n次幂大小的空间。

通常使用Zwoptex和TexturePacker设计和生成纹理图集文件,以及纹理图集坐标文件(plist)组成。

使用精灵帧缓存:有以下几种

1.纹理缓存
2.精灵帧缓存(SpriteFrameCache):能抽精灵表中创建精灵帧缓存,
  然后再从精灵帧缓存中获取精灵对象,再反复使用精灵对象的时候,
  可以降低内存消耗。
3.动画缓存(AnimationCache):用于精灵动画。精灵动画的每一帧是从动画缓存中获取的

SpriteFrameCache::getInstance()->addSpriteFramesWithFile("SpriteSheet.plist");
//创建了mountain1.png精灵,此为plist中定义的帧
auto mountain1 = Sprite::createWithSpriteFrameName("mountain1.png");
//移除精灵缓存
SpriteFrameCache::getInstance()->removeSpriteFramesFromFile("SpriteSheet.plist");

猜你喜欢

转载自blog.csdn.net/huanghailiang_ws/article/details/78167707