SpriteKit Nodes在iPhone 6 plus和iPhone 6s plus模拟器中显得更小

时间:2017-04-02 06:31:45

标签: swift xcode sprite-kit

在iPhone 6 Plus和6s Plus模拟器中,我的GameScene中的节点看起来比它们应该做的要小得多(即使屏幕非常合适 - 没有黑条,空白区......)。奇怪的是,我的MenuScene和我的TutorialScene(在同一个模拟器中)中的节点都是正常大小的。我的应用程序在所有其他模拟器(iPad air,iPad pro,iPhone 5,5s,6,6s)上运行完美(所有场景中都有正常大小的节点)。 P 我尝试过以下的事情:

  • 我创建了适用于所有尺寸的启动图像 - >在应用程序图标和启动图像中,我将启动图像迁移到资产目录 - >删除“启动屏幕文件”中的行 - >不起作用

  • 我上面尝试了同样的事情,但这次我删除了Launch Screen.storyboard(如果我为所有iPhone尺寸创建了启动图像,为什么我需要这个?) - >不起作用

  • 我删除了我的启动图像并恢复启动screen.storyboard(基本上重置了所有内容) - >不起作用

我的iPhone 6 Plus和iPhone 6s Plus模拟器出了什么问题?

2 个答案:

答案 0 :(得分:0)

更新:问题解决了! (但我还是不知道怎么做)

在所有模拟器上测试我的应用程序后,我发现我的节点看起来更小的唯一设备是iPhone 6+和6s +。这些设备使用3x图像。所以我认为我的3x图像有问题。

检查后,我没有发现这些图像有任何问题(它们与1x和2x完全相同,除了它们的名称后缀为@ 3x)。

所以我删除了我的images.xcassets中的所有3x图像 - >问题解决了

我仍然想知道这是如何解决我的问题的。如果你能解释一下请评论:)

答案 1 :(得分:0)

这可能会有所帮助,

资源文件夹包含1x,2x和3x图像。如果您只在1x图像中设置了图像,则所有设备都将使用该图像并进行适当缩放。

如果您设置了2x和3x图像,那么设备将使用这些图像但不会缩放它们。

2x图像应该是1x图像的两倍。 如果你的1x图像是100px x 100px,那么你的2x图像应该是200px x 200px。

3x图像应该是1x图像的三倍。 如果您的1x图像是100px x 100px,那么您的3x图像应为300px x 300px

因此,您在所有1x,2x和3x图像框中设置相同的图像。所以该设备将使用正确的屏幕尺寸,这将使它在较大的屏幕(iPhone 6s)上看起来更小,因为你还没有缩放它们。

您可以在iOS人机界面指南

中详细了解here