iPad 视网膜在 Cocos2d 中拉伸非视网膜图像

Posted

技术标签:

【中文标题】iPad 视网膜在 Cocos2d 中拉伸非视网膜图像【英文标题】:iPad retina stretches non-retina images in Cocos2d 【发布时间】:2012-08-09 14:28:49 【问题描述】:

我有一个使用 SDK 5.1 (Xcode 4.4) 构建的 iPad 应用程序。该应用程序是非视网膜应用程序。在 iPad 1 和 2 上,图像已正确缩放。在新 iPad(第 3 代)上,所有图像都按比例放大。这种行为是意料之中的,但在我的情况下是不受欢迎的。如何防止图像被放大?

【问题讨论】:

您的 Xcode 项目中正确包含所有图像的视网膜版本吗? 不,一点也不。因此,如果我再次添加相同的图像(相同的大小)但只添加了@2x,它应该可以工作吗? 不,Retina 图像应该加倍尺寸。如果非 Retina 为 100x100,则 Retina 应为 200x200。 请记住,如果您正在开发 cocos2d 应用程序,因为您的标签表明 cocos2d 使用 -hd 作为视网膜图像的默认后缀,而大多数 ios API 调用使用 @2x,如前所述。参考 cocos2d-iphone.org/wiki/doku.php/… 的 cocos2d 文档,了解如何为视网膜开发。 【参考方案1】:

由于您正在为非 Retina 和 Retina 设备构建,因此您应该包含所有图像的两个版本。 Retina 图像的大小应为屏幕分辨率的两倍,并应具有@2x.png(或 jpg)后缀。示例:Background-Image@2x.png

【讨论】:

以上是关于iPad 视网膜在 Cocos2d 中拉伸非视网膜图像的主要内容,如果未能解决你的问题,请参考以下文章

iPad 视网膜显示屏上的黑屏

强制视网膜 iPad 使用非视网膜图像

如何在资产目录新图像集中删除所有 iPhone/iPad 视网膜/非视网膜图像

Xcode 资产目录 - 有没有办法只为 iPad 非视网膜标记精灵?

带有 Tableview 图形的 iPad 2 模拟器上的问题仅影响非视网膜显示

iPad 第三代无法显示视网膜图像