【问题标题】:Scale sprite kit game for all devices适用于所有设备的缩放精灵套件游戏
【发布时间】:2017-04-03 01:39:20
【问题描述】:

在 spriteKit 中创建游戏时,我使用了 1080x1920 的游戏尺寸。但是现在如果我要在 Ipad 上运行它,它看起来很奇怪。 有一个简单的解决方法吗?我只是担心我的应用会被拒绝。提前谢谢你?

【问题讨论】:

  • 您想要对 iPad 的原生支持,还是想要仅 iPhone 的应用程序以兼容模式在 iPad 上运行(目前是这样)?如果是前者,请将您的应用设为通用。如果是后者,您必须支持 3.5 英寸 iPhone 才能在 iPad 上正常工作。
  • @rmaddy 哪个更容易
  • @rmaddy 我该怎么做

标签: ios sprite-kit


【解决方案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、1334*750-Landscape)。此设置将裁剪您在 iPad 上的游戏。

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

Lumino City,机器人独角兽攻击

这两个选项之间的选择取决于您,并且取决于您正在制作的游戏。

无论场景大小,缩放模式通常最好保留在 .aspectFill 或 .aspectFit,这取决于您的喜好和需要(例如使用 aspectFill 进行裁剪或使用 aspectFit 进行黑条)

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

Spritekit scale full game to iPad

How to make SKScene have fixed width?

希望对你有帮助

【讨论】:

  • 这是错字吗? 1337*750-风景
  • 我几乎用过,哈哈。 :)
  • 大声笑,很抱歉。 :)
【解决方案2】:

当您呈现场景时,您还可以设置纵横比。

示例:

if let scene = SKScene(fileNamed: "GameScene") {
    // Set the scale mode to scale to fit the window
    scene.scaleMode = .aspectFill

    // Present the scene
    view.presentScene(scene)
}

您可以设置 4 种不同方面的收音机

  • aspectFit
  • 方面填充
  • 填写
  • 调整大小填充

你可以在苹果文档中找到here的4种不同类型。

在我看来,您目前已将其设置为 aspectFill,但您最好使用 aspectFit。这会在某些设备的顶部和底部创建一个黑条,但会保持纵横比相同。

如果您希望它在所有设备上看起来都很好(没有黑条),您需要检查它在哪个设备上运行,然后相应地更新精灵的大小和位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多