Texture packer的确比Zwoptex更加强大,功能更多,跨平台,在使用cocos2d-x在win32下开发的时候,能够在win32下使用的优点就更加明显了。何况Zwoptex以前是完全免费的,在用户多了以后坑爹般的开始收费了,连个可用的免费版本都没有(只有自己保留的老版本可用),而Texture packer一直有可用的免费版本,虽然Pro版本贵的离谱.

  Texture packer的主界面如下:

enter image description here

1.Add Sprites

上图中的样子就是用Add sprite功能,添加了cocos2d的示例图片后的样子。texture packer能够自动的用较为优化的算法来排列图片,使得占用空间尽量的少,作为初级版本,没有一些包括裁剪在内的高级功能(在强行使用高级功能后,会有 提示,也可以导出图片,但是会随机在某些图片上印上一些英文文字)

2.设置导出文件的位置

enter image description here

  这个位置是一个绝对位置,此时可以保存一份texture packer的工程。这个工程会记录这个导出的位置。有一点用户体验非常好的地方是设置了plist的位置后,texture的为止texture packer会自动生成一个。

3.导出

  点击publish按钮即可。将来在原始图片更改的时候,直接载入这个工程,然后也只需要再次点击public按钮即可,会同时生成plist和texture文件。相当易用。

  Enable auto alias非常有用,可以将相同的图片自动合并,对于三维导出的序列帧和flash自动导出的序列帧动画,常常可以节省很多空间。

  到目前为止,这已经很强大了。但是Texture packer的强大不仅如此,手工编辑再方便,也不如自动化来的快~~~~

  Texture packer在安装后,在安装目录下(windows)会有一个叫texture packer的可运行文件,直接将刚才生成的tps文件作为参数传进去,就能自动的生成~~~再配合VS或者XCode的工程配置,完全可以做到生成程序 的时候对texture的全自动化处理。(不过这个需要pro的license)

4.程序中的使用

  先通过以下接口预加载

  void CCSpriteFrameCache::addSpriteFramesWithFile(const char *pszPlist)

  然后通过以下接口使用:

  CCSpriteFrame* CCSpriteFrameCache::spriteFrameByName(const char *pszName)

  CCSprite* CCSpriteFrameCache::createSpriteWithFrameName(const char *pszName)

  CCSpriteFrameCache本身是个单件。

转自:http://blog.csdn.net/vagrxie/article/details/6715416