首先要解释一下,为何要使用TexturePacker?node
这是应为咱们作的游戏最终要运行在Android手机或者苹果手机上,而Android或者ios系统使用的是OpenGL ES来渲染。因此咱们要针对OpenGL ES来进行优化。ios
内存方面,OpenGL ES纹理要求宽和高都是2的n次幂的倍数。想想,若是图片的宽为33,而高为65,那么图片加载到内存后的大小为多少?考虑到宽和高都是2的n次幂,因此加载到内存后的大小是64*128。因此咱们能够考虑将小的图片拼成到的图片,而后加载。工具
渲染速度方面,OpenGL ES要求切换的纹理少,因此将图片拼成大图片,这样就减小了纹理的切换。优化
因此使用TexturePacker是颇有必要的。spa
打开TexturePacker,点击Add Folder,将图片所有加载进来。注意:咱们应该事先将要拼凑的图片放到同一个文件夹下。.net
这样。TexturePacker就自动将咱们要拼凑的图片拼成了一个大图,而且大图的宽和高都是2的n次幂的倍数。orm
下面设置输出格式:blog
Texture format设置成PNG。而后选择Data file和Texture file的保存位置。点击工具栏上的Publis。这样咱们就获得了plist文件和png文件。游戏
下面就是在cocos2d-x中使用这两个文件。图片
将这两个文件复制到Resources文件夹中。
使用下面的代码加载着两个文件
接着建立一个CCSpriteBatchNode,将要渲染的精灵加载到CCSpriteBatchNode。
而后就是建立精灵而且加载精灵了。
其中“bird.png”是小图片的名字。注意:CCSpriteBatchNode中的Sprite都要用同一个纹理。
本文出自:http://blog.csdn.net/zhy_cheng/article/details/8680931
===============================================================
说明:
1.当点击 Add Folder时,是选择一个特定的文件夹,在选择有存储图片的文件夹时不会显示此文件夹下的全部图片,即显示是一个空文件夹。不要理会这些,直接到存放图片的文件夹目录,而后点击选择文件夹。
2.能够在左边设置输出的数据文件的路径(通常数据文件路径和纹理文件路径是相同的),若是在左边没有设置相关的路径,那么在点击Publish时会弹出保存框。建议在左边设置保存路径,由于在左边除了能够设置保存路径外,还能够设置保存的纹理图片的格式,能够是.png格式的也能够是.bmp格式的。