博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cocos2d下TexturePacker2.3版会给iphone, ipad通用版带来的问题
阅读量:6291 次
发布时间:2019-06-22

本文共 990 字,大约阅读时间需要 3 分钟。

作者:JustinWong | 出处:博客园 | 2011/7/28 10:33:19 | 阅读
258

新的TexturePacker自动适应了cocos2d的自动补-hd。对于以往的TexturePacker版本,他所生成的.plist文件中使用的textureFileName来标识texture文件的名字,名字写的是实际的texture文件,比如-hd的plist写的是atlas-hd.png,由于cocos2d 1.0.0的CCSpriteFrameCache在加载plist时,如果调用方法没有指定texture文件的路径,则会读取plist中上面的字段,对于iphone4,则还会在后面补加-hd,于是老版本的TexturePacker生成的plist就不能自动完成cocos2d的自动-hd。

 

 

而新版本则会在这个字段写atlas.png,这样当需要-hd的时候,cocos2d,会读到这个atlas.png名字的之后再在后面补加-hd,以atlas-hd.png作为texture。一切都自动完成了。但是别高兴的太早,ipad人家是不管。

 

 

那么对于开发人员的影响是什么呢,对于iphone4, iphone为一个项目,ipad版本为一个项目的开发人员来说,不需要调整任何东西。但对于开发的是iphone4, iphone, ipad在一个项目的通用版来说,并且是iphone4资源和ipad资源为同一份的项目结构来说,可能会有问题。

 

 

问题就在于,为了iphone4和ipad使用同一份资源,我们以前需要在加载atlas的plist的时候就根据设备来手动指定传入不同的plist。因为cocos2d只为我们区分了iphone和iphone4(retina)。因为老版本TextPacker会为我们纪录真是的texture路径,所以即便在加载plist不写texture路径参数,plist中的字段也是正确的。但是新版本该字段已经不是实际texture路径了,所以一定会出现资源加载错误的问题。

 

 

解决方法:很简单,就是在加载plist的时候永远手动指定真实texture文件路径参数。从原理上讲,也是正确的处理方式,因为cocos2d只解决了iphone和iphone4,没有提供ipad的自动-hd(因为确实也不该提供),那么我们就自然要手动提供和设置这些参数。

转载地址:http://ybcta.baihongyu.com/

你可能感兴趣的文章
相对路径和绝对路径错误造成的漏洞
查看>>
元胞自动机:更接近人类思考的智能模型
查看>>
ISCSI网络存储
查看>>
开源跳板机(堡垒机)Jumpserver v0.2.0 使用说明
查看>>
第二组视频:MySQL复制
查看>>
不同系统查WWN号
查看>>
社交网络用户并非越多越好
查看>>
读于丹《趣品人生》有感
查看>>
俞敏洪:我让女儿主动学习的秘密
查看>>
Android应用程序组件Content Provider的启动过程源代码分析(1)
查看>>
分布式一致Hash算法
查看>>
版本服务器Svn部署与配置
查看>>
揪出MySQL延迟上千秒的元凶
查看>>
shell编程开发应用指南
查看>>
⑤Windows Server 8 RemoteFX体验
查看>>
python使用localhost链接mysql出错及解决办法
查看>>
PYTHON高级全栈开发工程师-老男孩教育
查看>>
人人出售56不亏:三方得利
查看>>
美柚引流宝妈女粉,淘宝客微商不用引流脚本也能日吸500+
查看>>
如何用手机维护Mysql数据库
查看>>