需要 iOS 个 xcasset 目录的一些解释

Some explanations for iOS xcasset catalogs required

我对 iOS 开发完全陌生。想用Sprite-Kit框架做个小游戏,已经卡在xcasset目录了

假设我的 iPhone 4s 有一张 320x320 像素的图像,分辨率为 960x480 像素。我把这个放到xcasset目录下的"iPhone 2x"对吧(cp.下图)?

现在,我是否需要 "iPhone 1x" 160x160 和 "iPhone 3x" 640x640 版本的图像? iPad 呢? "iPad 1x" 和 "iPad 2x" 在像素方面的确切含义是什么?在我的示例中 "iPad 1x" 也是 320x320 和 "iPad 2x" 640x640 吗?

EDIT-1:感谢 link 到 the possible duplicate。但也没有讨论 iPad 版本的确切用途以及它们在像素方面的关系。

EDIT-2:尽管我使用 4096x4096 像素的图像生成启动图像(下图比较),但使用 Asset Catalog Creator 调整大小的结果并不令人满意:

我认为重要的是这些设备的不同显示密度:

 - iPhone 6 Plus                       401 ppi 
 - iPhone 6                            326 ppi 
 - iPhone 5, 5c, 5s, iPod touch        326 ppi
 - iPhone 4, 4s, iPod touch            326 ppi
 - iPad mini (2G/3G)                   326 ppi
 - iPad (3G/4G), iPad Air              264 ppi
 - iPhone 1, 2, 3                      163 ppi

因此导致 1x (264 ppi)2x (326 ppi)3x (401 ppi) 独立于以像素为单位的实际屏幕尺寸。

您的 Sky 图片似乎没有设置为 "universal devices",这就是它询问 iPad 图片的原因。请参阅 Apple's Asset Catalog Help 以了解有关为什么需要特定于设备的图像的详细信息。

Select 天空图像名称,然后按 Command-Opt-4 打开属性检查器。它说 "Devices" 将其设置为 "Universal",您应该只看到带有 1x、2x 和 3x 图像井的 "Universal" 部分。

此外,您的示例图片尺寸似乎不对。如果您的@2x 图像(对于 iPhone 4s)是 960x480,那么 1x 图像将是 480 x 240。(而用于 iPhone 6+ 的 3x 图像将是 1440 x 960。)您1x 图像应该是你想要的任何磅值,2x 应该是两个维度的两倍,3x 应该是两个维度上 1x 的三倍。