我假设您希望创建一款可以在 iPad 和 iPhone 上运行的通用游戏。如果是这种情况,在属性检查器(选择 Assets.xcassets 时位于 Xcode 界面的最右侧)中定义图形资源时,有两种可能的方法。在“设备”部分,您可以在通用设备、iPhone、iPad、Apple Watch、Apple TV、Mac 及其任意组合中进行选择。
如果您仅选择“通用”,那么您必须确保您插入的资源在 iPhone 和 iPad 上都能正常显示。如果是这种情况,请参阅下面的一些提示,了解如何使您的资产能够安全地普遍使用。
如果您选择“iPad”和“iPhone”,则必须包含 iPad 和 iPhone 的单独资源及其适当的分辨率和宽高比。根据我过去的经验,我一直都是这样走的。对于 iPad (1x),您必须提供 1024x768 背景,对于 iPad (2x),您必须提供 2048x1536 背景,除非您选择“单比例”并使用单个矢量 PDF 文件。分别,对于 iPhone,您必须提供 480x320(1x,仅在您需要支持 iPhone 3G/3GS 等旧设备的情况下,考虑到 Sprite-Kit 是随 iOS7 引入的事实,这种情况不太可能发生),然后是 1334x750(2x )和 2208x1242(3x,对于 iPhone 6+、6S+、7+)。通过这种方法,您无需担心“安全”区域,因为您提供的图形将在每个设备上正确使用,而不会“切割”边缘。请记住,iPhone 4S 和 iPhone 5/5S/SE 需要进行一些背景缩放才能将整个 2 倍图片显示在屏幕上。否则看起来会被放大。
如果您采用第一种方法,那么您应该考虑以下信息,以使您的“通用”图形可以安全地用于所有设备:
iPhone 5/5S/SE...以及所有更新机型的显示宽高比均为 16:9。
iPhone 4S 的宽高比为 3:2(您只需担心您的游戏是否支持 iOS 9)。
iPad 屏幕长宽比为 4:3。
考虑到上述情况,您可以选择两条路:
1. 使用 16:9 通用资源,在 iPad 和 iPhone 4S 上将其左/右部分切除。
2. 使用 4:3 通用资源,在 iPhone 上将其上/下部分切除。
上述内容适用于您的 2x 资产,因为这些资产将用于 Retina iPad 和 Retina iPhone(4S、5/5S、SE、6/6S/7)。
1x 资源仅用于非视网膜 iPad(如果您支持 iOS 9,则为 iPad 2,否则也请跳过这些)。
3x 资源将仅用于“Plus”iPhone 型号。因此,我建议您仅以 16:9 比例 (2208x1242) 提供这些。
那么,您如何计算您的“安全”区域。非常简单:
案例 1(16:9 资源也适用于 iPad):高度 1536(这是 iPad 视网膜高度,以像素为单位,但如果您希望在 iPad Pro 12.9" 上实现像素完美,那么您应该将其增加到 2048),宽度 = 1536 * 16 / 9 = 2732 像素宽(iPad Pro 支持为 3640 像素)。请注意,您必须在运行时缩小它以适合 iPhone。为了避免截断重要内容您的背景,请勿在 2732x1536 通用图像的中间 2048 像素的左侧或右侧放置任何内容(左侧和右侧各 342 像素“危险”区域)。如果您使用 3640x2048 图像(支持 iPad Pro 12.9" ),然后只使用中间的 2732 像素,在 454 像素宽的左右边界中只留下不重要的东西。
情况 1b(与上面相同,但图像较小):另一种方法是使用原生 (iPhone 6/6S/7) 1334/750 像素图像,但随后您必须针对 iPad 放大,针对 iPad 缩小iPhone 4S/5/5S/SE。在这种情况下,您的“安全”区域为 1000x750(在 4:3 iPad 和 16:9 iPhone 上均可见)。
情况 2(4:3 资源也适用于 iPhone):对于 2x 资源,使用 2048x1536 像素图像。根据您在屏幕上放置精灵的方式,上部和/或下部会出现损失。如果它居中,那么您的“安全”区域为 2048 / 16 * 9 = 1152,这导致 2048x1152 位于 2048x1536 资源的中间。
如果您需要任何进一步的说明,我将很乐意详细说明。