【步兵 cocos2dx】图片管理 之 什么时候打pvr.ccz
来源:互联网 发布:克瑞尔地产数据 编辑:程序博客网 时间:2024/05/05 07:42
【步兵 cocos2dx】图片管理 By EOS.
好久没有更新了=、= 天太热,新工作下班就好TM晚。o(︶︿︶)o 唉
进入正题
用texturePacker来图片打包的好处就是压缩尺寸和一次性加载,减少文件读写次数。
而且加载速度也有优化,反正好处就是多多多。
但是呢,每次把图片打包又烦烦烦,所以呢,我给大家分享一些经验=、=
秘籍1:打包和不打包不影响代码
这点做到了的话,什么时候图片打包还重要么~哈哈哈哈,发版本的时候在批量处理就好了
我用伪代码来说明一下=、=(就不贴代码,你能怎样)
--我就直接用lua代码了,其他的也都大同小异function newSprite(name, touchEvent, rectInsets) --touchEvent 如果不是nil 就添加点击事件,addTouchToNode --rectInsets 如果不是nil 就用改用Scale9Sprite --以上两点就不提了,讲主要内容=、= local retSprite = nil --先从 帧缓存中获取(因为最后发包肯定是用pvr.ccz所以这个判断放在前面,减少判断次数) retSprite = SpriteFrameCache:getSpriteFrameByName(name) if not retSprite then --没有咋办类~,加载plist呗 --命名规则规划好,前缀_文件名.png(前缀是文件夹的名字),最后打包出 前缀.plist local plist = 截取前缀 if isFileExist(plist) then --如果plist存在 SpriteFrameCache:addSpriteFramesWithFile(plist)--加载 retSprite = newSprite(name, touchEvent, rectInsets) else --如果plist不存在 if isFileExist(name) then --如果图片本身存在 retSprite = Sprite:create(name) end end end if not retSprite then --到这里还没有,就是没有输入有问题了,比如png打成了papapa,=、= retSprite = newSprite(DefaultValues.PNG) --加载默认图片之前说过好处,再强调一边,返回nil真机上崩溃查起来真的很麻烦, --但是如果看到大红色默认PNG那就肯定知道是图片出了问题~ end return retSpriteend
那么问题来了,小名曰:项目已经进行了大半,但是没有用规范命名怎么办呀呀呀呀~
么关系,还有后手~
--配个表 imgPlist = { ["aa.png"] = "ui/haha.plist", ["vv.png"] = "ui/inGame/vava.plist", } --然后就这样 if imgPlist[name] then plist = imgPlist[name] --其他如上 end
秘籍2:当然就是批处理
上边也有说,命名规范化,当然要有批处理的支持,难道要累死不成~
这里推荐一下luaForWindows,直接用lua就可以写了,方便很多,bat太反人类
或者说太落后了=、=,当然如果之前会ruby和python就无所谓了。
规范化的命名还有很多好处的,比如写UI,我前缀名字,就用view的名字,
一来根据ui来图片找起来直观,
二来showView和closeView,可以写个基类,来控制加载和卸载plist文件
三来打包的时候,批量话起来更简单,直接把文件夹下的所有图片 打成 文件夹名.plist
(文件夹和文件名 拼接这步应该在之前就处理了)
秘籍3:当然就是texturepacker的使用
您的军功值未达标,不可查看
总结
后边我还会分开来讲winLua和texturepacker的命令行使用=、=
over~
See Again~
之前
真爱无价,欢迎打赏~
1 0
- 【步兵 cocos2dx】图片管理 之 什么时候打pvr.ccz
- cocos2d-x中的pvr.ccz压缩图片
- cocos2d-x 中的pvr.ccz压缩图片的使用方法
- 打开pvr.ccz文件
- png转pvr.ccz
- 【iOS-cocos2d-X 游戏开发之十一】New CCSprite()带来的错误&使用CCUserDefault及pvr.ccz在Cocos2dx中要注意!
- png 批量 转 pvr.ccz
- png与pvr.ccz互转
- cocos2d-x 中的pvr.ccz压缩图片的使用方法【iOS游戏开发征文】
- 解决cocos2d-x pvr.ccz格式的图片有时无法读取的一个bug
- 把.pvr.ccz文件转换成png
- 【步兵 经验篇】图片加密之我见
- 取pvr.ccz及pvr图像的工具
- 取pvr.ccz及pvr图形的工具
- pvr/pvr.ccz文件转png,使用ant脚本实现
- 【步兵 cocos2dx】texturePacker命令行
- 【步兵 cocos2dx】lua绑定
- 【步兵 cocos2dx】自动化测试
- 【Debug】Hander processing failed; nested exception is java.lang.NoClassDefFoundError; javax/servlet/j
- Android的Handler使用总结
- 函数模板的完善
- 16. 3Sum Closest
- nginx.conf配置详解
- 【步兵 cocos2dx】图片管理 之 什么时候打pvr.ccz
- Combination Sum 找出Sum符合要求的组合
- hdu 5542(树状数组优化dp)
- linux 的重定向
- Semi-Automatic 3D Annotation3D源码编译过程记录
- 使用 jQuery.i18n.properties 实现 Web 前端的国际化
- JS设计模式之中介者模式
- 学习C语言指针和链表的体会
- 杭电OJ A+B for Input-Output Practice (III)