【问题标题】:SpriteKit Nodes appear smaller in iPhone 6 plus and iPhone 6s plus simulatorSpriteKit 节点在 iPhone 6 plus 和 iPhone 6s plus 模拟器中显得更小
【发布时间】:2017-08-27 04:17:59
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 你能澄清一下GameScene等是什么吗?它们是 SpriteKit 场景、SceneKit 场景还是其他什么?
  • 都是SpriteKit场景
  • 做一个基本的调试:打印视图大小,打印场景大小,打印有问题的精灵大小及其纹理大小。检查有问题的精灵的比例因子。清除模拟器内容和缓存(查看模拟器菜单)。

标签: swift xcode sprite-kit


【解决方案1】:

更新:问题解决了! (但我仍然不知道如何)

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

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

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

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

【讨论】:

    【解决方案2】:

    这可能会有所帮助,

    assets 文件夹有 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-31
      • 2015-12-06
      • 2016-06-07
      • 1970-01-01
      相关资源
      最近更新 更多