适用于所有设备的精灵精灵套装游戏

时间:2017-04-03 01:39:21

标签: ios sprite-kit

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

2 个答案:

答案 0 :(得分:4)

这是一个非常常见的问题。

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

所以基本上我们有2种方法可以正确地完成它

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

你通常只是在iPad上的顶部/底部(风景)或左/右(人像)上显示/显示一些额外的背景,这些背景会在iPhone上被裁剪。

iPhone上的iPad /裁剪更多游戏的例子:

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?

希望这有帮助

答案 1 :(得分: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
  • aspectFill
  • resizeFill

您可以在Apple文档中找到有关4种不同类型here的信息。

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

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