Lea*_*s2D 21 incompatibility cocos2d-iphone retina-display
Cocos2d-iphone为Retina图像(和其他资产)使用-hd扩展名.在cocos2d的视网膜导说,只有依稀"一些不兼容"关于@ 2倍:
Apple使用"@ 2x"后缀,但由于某些不兼容性,cocos2d不使用该扩展名.相反,cocos2d有自己的后缀:" - hd".
警告:不建议使用"@ 2x"后缀.Apple以特殊方式处理这些图像,这可能会导致cocos2d应用程序中出现错误.
大.我感觉很清楚.
通过一个2年前关于@ 2x的错误报告,我得到了一个论坛帖子的链接,据说可以解释@ 2x的问题.但事实并非如此.我在那里找到的唯一提示是有关于@ 2x的iOS(4.0/4.1)错误,我认为这些错误不再相关.我可能错过了一些关键方面(有一些关于缓存或重复加载问题的讨论) - 毕竟线程很长.
我想知道cocos2d开发人员遇到什么具体问题,如果他使用@ 2x后缀代替-hd?
请举例说明可能会或实际上会出错的事情.
似乎这有一个历史背景.
使用-hd图形仍然值得的是加载它们不依赖于Apple功能,而是在框架代码中完成.因此,可以在iPhone模拟器模式下为iPad加载-hd,并在2x模式下使用更高分辨率的图片.
除此之外,当我在一周前调查时,我找不到更多不使用@ 2x的理由.
如果您想要所有细节,最好放弃riq电子邮件.
这似乎是这个链接的主要原因:http://www.cocos2d-iphone.org/forum/topic/12026
特别是riq的这篇文章:
我不知道initWithContentsOfFile是否已修复,但在4.0中它被破坏了,它无法使用@ 2x,~iphone扩展.imageNamed缓存所有已加载的文件,因此它比initWithContentsOfFile消耗更多的内存.此外,@ 2x扩展还执行某些操作(我不确切知道是什么),但它与cocos2d无法正常工作.
另一个好处是:当iPhone 4刚刚与视网膜显示器一起发布时,我确信Cocos2D的一些用户正在使用它的旧版本,因此当用户在不支持的Cocos2D版本上使用视网膜显示器时事情是他们应该做的事情的两倍.除非你使用的是非常早期版本的Cocos2D,否则现在这个问题已经解决了.
概述,所以似乎主要的问题是来自iOS 4的initWithContentsOfFile,但他们已经解决了这个问题,因为我在我的应用程序中使用了Cocos2D 2.0-rc2的确切API,我没有任何问题.我使用所有Apple指定的扩展图像,一切都很好!:)