Sprite Kit 场景编辑器 GameScene.sks 场景的宽度和高度

6

我正在使用SpriteKit场景构建器来构建我的场景(也称为在Xcode 7 ios9中创建项目时的GameScene.sks文件)。SpriteKit仅在设置屏幕高度和宽度时使用像素值。我的问题是:

如果我将像素值设置为iPhone 6的值,那么游戏是否对iPad和iPhone 6+而言会太小?为什么没有适应设备屏幕的选项?我应该怎么做才能避免这种情况?

1个回答

11

像素密度

首先,场景的大小是以而不是像素为单位定义的。

让我们看看支持iOS 9的设备如何处理这个问题:

  • 1点=1x1像素:iPad 2,iPad mini
  • 1点=2x2像素:iPhone 4s,iPhone 5,iPhone 5c,iPhone 5s,iPhone 6,iPhone 6s,iPad mini 2,iPad mini 3,iPad mini 4,iPad 3, iPad 4,iPad Air,iPad Air 2,iPad Pro,iPod touch 5,iPod touch 6
  • 1点=3x3像素:iPhone 6 Plus,iPhone 6s Plus

这可以让您指定一个大小,它会自动转换为特定设备的像素密度。

屏幕尺寸

iOS 9支持iPhone/iPad上有几个可用的屏幕尺寸。

使用SpriteKit,您可以通过设置ScenescaleMode属性轻松解决此问题。

您可以从4个选项中选择:

  • 填充:缩放SKScene以填充整个SKView。
  • 纵横比填充:缩放SKScene以填充SKView,并保留场景的纵横比。如果视图具有不同的纵横比,则可能会出现一些裁剪。
  • 纵横比适合:缩放SKScene,以适应SKView并保留场景的纵横比。如果视图具有不同的纵横比,则可能会出现一些"letterboxing"效果。
  • 调整大小填充:修改SKScene的实际大小,以完全匹配SKView。

您可能想设置AspectFill,但这真的取决于您的游戏。

要设置属性,请打开GameViewController.swift(如果使用Objective-C,则为.m),在viewDidLoad中,您将找到此行。只需更改它以符合您的偏好即可。

/* Set the scale mode to scale to fit the window */
gameScene.scaleMode = .AspectFill

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接