【问题标题】:How do I size sprites in a universal sprite kit game如何在通用精灵套件游戏中调整精灵大小
【发布时间】:2017-03-22 01:43:00
【问题描述】:

我对快速编程比较陌生。我制作了一个没有使用 SpriteKit 的应用程序,我会通过将图像缩小到屏幕宽度和高度的倍数来调整大多数视图的大小。不确定这是否是最好的策略,但它奏效了,我能够构建一个在所有设备上看起来都不错的应用。

使用 spritekit 和 scene.sks 文件,我无法像以前那样选择自动布局来调整我的 sprite 大小。网上关于通用应用的内容不多,所以我在努力寻找解决方案。

我的问题是如何调整对象大小并确保我的场景在不同设备上看起来相同?

如果你有一个很好的例子可以解释这一点,那将非常有帮助。谢谢!

【问题讨论】:

  • 一般情况下,您提供 1x、2x 和 3x 资产。你应该专注于一个特定的问题,例如。我正在使用这张图片,场景具有缩放模式,在这些设备上看起来不同......否则,您可以搜索名为“制作通用应用程序”的 Ray Wenderlich 教程。但即使是那个教程也不是在所有情况下都能解决问题,这真的取决于游戏。
  • 感谢您的提示。我看过那个教程,但是因为它是 2013 年发布的所以跳过了它。也许我还能从中学到一些好东西。

标签: ios sprite-kit autolayout skscene sknode


【解决方案1】:

我们通常在 SpriteKt 中做的是给 SKScene 一个固定的大小,让 SpriteKit 在不同的设备上为你做缩放。

所以基本上我们有两种方法可以正确地做到这一点

1) 将场景大小设置为 iPad(例如 1024x768 - 横向、768x1024 - 纵向)。这是 Xcode 7 中的默认设置。

您通常只是在 iPad 上的顶部/底部(横向)或左侧/右侧(纵向)有/显示一些额外的背景,而这些背景在 iPhone 上会被裁剪。

在 iPad 上显示更多/在 iPhone 上裁剪的游戏示例:

Altos Adventure、Leos Fortune、Limbo、The Line Zen、Modern Combat 5。

2) Apple 将 xCode 8 中的默认场景大小更改为 iPhone 6/7(750*1334-Portait、1337*750-Landscape)。此设置将裁剪您在 iPad 上的游戏。

在 iPad 上显示较少的游戏示例:

Lumino City,机器人独角兽攻击

这两个选项之间的选择取决于您,并且取决于您制作的游戏。我通常更喜欢使用选项 1 并在 iPad 上显示更多背景。

无论场景大小,缩放模式通常最好保留默认设置 .aspectFill。

您将使用通用资源槽和/或设备特定图像。这样您就可以在所有设备上获得一致的体验

Spritekit scale full game to iPad

How to make SKScene have fixed width?

希望对你有帮助

【讨论】:

  • iPad Pro 的屏幕尺寸更大,我应该将场景尺寸设置为:1024 x 1366 还是 1366 x 1024?否则场景会在该设备上放大,对吗?
  • 我将其设置为 1024*768(横向)或 768*1024(纵向)。但如果需要,您也可以将其设置为 iPad Pro 分辨率。 SpriteKit 将使用缩放模式 (.aspectFill) 来适应每个设备。只要添加所有正确的图像(1x、2x、3x)就可以了。
  • 最好的方法是创建一个新的游戏模板,并调整场景大小和图像。
  • 不,它在所有 iPhone 上看起来都很完美。除了 iPad 具有不同的纵横比之外,它在 iPad 中看起来也很完美。这就是为什么取决于您选择选项 1 还是 2,它会在 iPad 上显示更多或裁剪一点。当你设计你的游戏时,你只需要记住这一点。为什么不创建一个示例游戏模板。使用选项 1 并添加一个完全适合 iPad 场景的全屏图像。比在 iPhone 上运行,看看有多少被裁剪。比尝试选项 2 并添加完美适合整个 iPhone 屏幕的背景图像。比在 iPad 上运行,看看裁剪了什么。
  • 我总是使用 .aspectFill。是的,你是对的,如果你使用选项 1,它会在 iPhone 的顶部和底部裁剪一点(横向)。我更愿意说它会在 iPad 上显示更多,但它的想法是一样的。在 iPhone 上被裁剪的区域是你只能在 iPad 上看到的东西,通常是天空和地面。如果您使用选项 2,它将在 iPad 上裁剪。
猜你喜欢
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-12
  • 2016-11-29
  • 1970-01-01
相关资源
最近更新 更多