我使用spritekit场景构建器来构建我的场景(在xcode 7 ios9中创建项目时也称为GameScene.sks文件)。 SpriteKit仅在设置屏幕高度和宽度时使用像素值。我的问题是:
如果我将像素值设置为iphone 6,那么游戏对于ipad和iphone 6+来说太小了吗?为什么没有选择适合设备屏幕?我该怎么做才能避免这种情况?
答案 0 :(得分:10)
首先,在Points
而不是Pixels
中定义了场景的大小。
让我们看看支持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,您可以轻松地设置scaleMode
的{{1}}属性。
您可以选择4个选项:
- 填充:缩放SKScene以填充整个SKView。
- AspectFill:缩放SKScene以填充SKView,同时保留场景的宽高比。如果视图有一个,可能会发生一些裁剪 不同的长宽比。
- AspectFit:缩放SKScene以适应SKView,同时保留场景的宽高比。如果,可能会出现一些信箱 视图具有不同的宽高比。
- ResizeFill:修改SKScene的实际尺寸,使其与SKView完全匹配。
您可能想要设置Scene
,但这实际上取决于您的游戏。
要将属性设置为AspectFill
(或GameViewController.swift
,如果您使用Objective-C),请在.m
中找到此行。只需将其更改为您的偏好。
viewDidLoad