导出 pvr 格式
TexturePacker 可以导出的图片格式有很多种,除了常见的 png,jpg,bmp,ttif,tga 之外,还可以导出 pvr,pvr+gzip(pvr.gz),pvr+zlib(pvr.ccz)。pvr 是 ios 上常用的一种图片格式,iOS 设备用的是 PowerVR 显示芯片,而 PVR 格式可以被该显示芯片直接存取,从而速度更快。使用一般的图片查看工具是无法打开 pvr 文件的,因此将资源导出为 pvr 格式可达到一定的加密程序。
在 cocos2d-x 中加载 pvr 格式图片与加载 png 图片一样,使用 SpriteFrameCache 加载合图
cc.SpriteFrameCache:getInstance():addSpriteFrames(fileName .. ".plist", fileName .. ".pvr.ccz")
一个要注意的问题的是 cocostudio 也有一个导出合图的工具,它的功能比较简单,只能导出 png 这种常规图片,因此如果要导出 pvr 图片或利用其它强大的功能,则需要使用 TexturePacker。但 TexturePacker 与 cocostudio 导出的文件略有不同,一个明显的区别就是每一帧的命名方式,cocostudio 会加上目录,而 TexturePacker 不会。举个例子,在 ui 目录下有 p1.png,p2.png,p3.png 三张图片,使用 cocostudio 打包后每一帧的文件名分别是 ui/p1.png,ui/p2.png,ui/p3.png;而使用 TexturePacker 打包后的每一帧文件名是 p1.png,p2.png,p3.png,所以从精灵帧缓冲区获取精灵帧的方式也不同