Sprite Kit 场景编辑器 GameScene.sks 场景宽度和高度
Posted
技术标签:
【中文标题】Sprite Kit 场景编辑器 GameScene.sks 场景宽度和高度【英文标题】:Sprite Kit Scene Editor GameScene.sks scene width and height 【发布时间】:2015-11-28 05:31:21 【问题描述】:我正在使用 spritekit 场景构建器来构建我的场景(在 xcode 7 ios9 中创建项目时也称为 GameScene.sks 文件)。 SpriteKit 在设置屏幕高度和宽度时只使用像素值。我的问题是这样的:
如果我将像素值设置为 iphone 6 的像素值,游戏对于 ipad 和 iphone 6+ 来说会不会太小?为什么没有适合设备屏幕的选项?我应该怎么做才能避免这种情况?
【问题讨论】:
【参考方案1】:像素密度
首先场景的大小是在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,设置 Scene
的 scaleMode
属性可以轻松解决这个问题。
您可以在 4 个选项中进行选择:
填充:缩放 SKScene 以填充整个 SKView。 AspectFill: 缩放 SKScene 以填充 SKView,同时保持场景的纵横比。如果视图有 不同的纵横比。 AspectFit: 缩放 SKScene 以适应 SKView,同时保持场景的纵横比。一些信箱可能会发生,如果 视图具有不同的纵横比。 ResizeFill:修改 SKScene 的实际大小以完全匹配 SKView。
你可能想设置AspectFill
,但这真的取决于你的游戏。
要设置属性打开GameViewController.swift
(或.m
,如果你使用Objective-C),在viewDidLoad
你会发现这一行。只需根据您的喜好进行更改即可。
/* Set the scale mode to scale to fit the window */
gameScene.scaleMode = .AspectFill
【讨论】:
以上是关于Sprite Kit 场景编辑器 GameScene.sks 场景宽度和高度的主要内容,如果未能解决你的问题,请参考以下文章