cocos2d-x开发游戏时,使用Texture packer来合并图片
2011-11-18 10:19
411 查看
write by 九天雁翎(JTianLing)
-- www.jtianling.com
Texture packer的确比Zwoptex更加强大,功能更多,跨平台,在使用cocos2d-x在win32下开发的时候,能够在win32下使用的优点就更加明显了。何况Zwoptex以前是完全免费的,在用户多了以后坑爹般的开始收费了,连个可用的免费版本都没有(只有自己保留的老版本可用),而Texture packer一直有可用的免费版本,虽然Pro版本贵的离谱(对于中国人来说,100多块钱的工具太贵了,但是对于美国人来说又很便宜)。另外,假如你是博客作者或者是框架开发者,可以向作者申请免费的license,我的确收到了。有意思的是,作者后来以做SEO为由,要求我添加以Sprite
Sheet Maker为文字的链接,链接到他们网站,真让人感叹,天下没有免费的午餐啊~~~~
Texture packer的主界面如下:
![](http://184.82.230.158/wp-content/uploads/2011/08/texturepacker1-1024x695.png)
![](http://184.82.230.158/wp-content/uploads/2011/08/texturepacker2.png)
这个位置是一个绝对位置,此时可以保存一份texture packer的工程。这个工程会记录这个导出的位置。有一点用户体验非常好的地方是设置了plist的位置后,texture的为止texture packer会自动生成一个。
Enable auto alias非常有用,可以将相同的图片自动合并,对于三维导出的序列帧和flash自动导出的序列帧动画,常常可以节省很多空间。
到目前为止,这已经很强大了。但是Texture packer的强大不仅如此,手工编辑再方便,也不如自动化来的快~~~~
Texture packer在安装后,在安装目录下(windows)会有一个叫texture packer的可运行文件,直接将刚才生成的tps文件作为参数传进去,就能自动的生成~~~再配合VS或者XCode的工程配置,完全可以做到生成程序的时候对texture的全自动化处理。(不过这个需要pro的license)
void CCSpriteFrameCache::addSpriteFramesWithFile(const char *pszPlist)
然后通过以下接口使用:
CCSpriteFrame* CCSpriteFrameCache::spriteFrameByName(const char *pszName)
CCSprite* CCSpriteFrameCache::createSpriteWithFrameName(const char *pszName)
CCSpriteFrameCache本身是个单件。
-- www.jtianling.com
Texture packer的确比Zwoptex更加强大,功能更多,跨平台,在使用cocos2d-x在win32下开发的时候,能够在win32下使用的优点就更加明显了。何况Zwoptex以前是完全免费的,在用户多了以后坑爹般的开始收费了,连个可用的免费版本都没有(只有自己保留的老版本可用),而Texture packer一直有可用的免费版本,虽然Pro版本贵的离谱(对于中国人来说,100多块钱的工具太贵了,但是对于美国人来说又很便宜)。另外,假如你是博客作者或者是框架开发者,可以向作者申请免费的license,我的确收到了。有意思的是,作者后来以做SEO为由,要求我添加以Sprite
Sheet Maker为文字的链接,链接到他们网站,真让人感叹,天下没有免费的午餐啊~~~~
Texture packer的主界面如下:
![](http://184.82.230.158/wp-content/uploads/2011/08/texturepacker1-1024x695.png)
1.Add Sprites
上图中的样子就是用Add sprite功能,添加了cocos2d的示例图片后的样子。texture packer能够自动的用较为优化的算法来排列图片,使得占用空间尽量的少,作为初级版本,没有一些包括裁剪在内的高级功能(在强行使用高级功能后,会有提示,也可以导出图片,但是会随机在某些图片上印上一些英文文字)2.设置导出文件的位置
![](http://184.82.230.158/wp-content/uploads/2011/08/texturepacker2.png)
这个位置是一个绝对位置,此时可以保存一份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本身是个单件。
相关文章推荐
- cocos2d-x开发游戏时,使用Texture packer来合并图片
- cocos2d-x开发游戏时,使用Texture packer来合并图片
- cocos2d-x 中的pvr.ccz压缩图片的使用方法【iOS游戏开发征文】
- cocos2d-x 中的pvr.ccz压缩图片的使用方法【iOS游戏开发征文】
- 使用Cocos2d-lua开发植物大战僵尸07-实现开始游戏按钮功能和主场景触摸监听
- 【iOS-Cocos2d游戏开发之八】开启高清(960*640)模式问题与解答、图片适配以及设置iphone横竖屏
- 【iphone游戏开发】iphone-Cocos2D游戏开发之二:精灵表的详细讲解(一)和Zwoptex工具的使用
- 在Cocos2d-JS 3.0开发的游戏中使用的 js 工具库总结
- 【Cocos2d-X开发学习笔记】第25期:游戏背景之瓦片地图集类(CCTMXTiledMap)的使用
- iOS-Cocos2d游戏开发】使用Zwoptex生成plist文件
- 【cocos2d-x游戏开发】Label标签的使用
- 【iphone游戏开发】iphone-Cocos2D游戏开发之二:精灵表的详细讲解(一)和Zwoptex工具的使用
- 【iOS-Cocos2d游戏开发之十一】使用Box2d物理系统以及在cocos2d框架添加Box2d物理系统lib包的方法 推荐
- TexturePacker图片打包工具——简单介绍+简单制作图片集教程——cocos2d-x游戏开发引擎图片制作必备
- 【Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;
- 二、如何使用Lua开发配合cocos2d-x开发游戏
- iphone游戏开发之cocos2d ( 八 )使用加速计(重力感应)控制精灵移动UIAcceleration
- 【Cocos2d-x游戏开发】TableView的使用
- 【iOS-cocos2d-X 游戏开发之十六】Cocos2dx编译后的Android自动使用(-hd)高清图&设置自适应屏幕
- Cocos2d-x游戏开发之随机数使用