【发布时间】:2021-05-07 21:39:49
【问题描述】:
当我don't specify a size for my SKScene 时,我会出现奇怪的行为,节点要么不出现,要么全屏出现。
一种解决方法是使用 Apple 的启动代码,该代码具有 Scene.sks,基本上将大小硬编码为:
sceneView.presentScene(SKScene(size: CGSize(width: 750, height: 1334)))
在我们拥有自动布局、不同屏幕尺寸、尺寸类别、旋转等的世界中,硬编码场景的宽度和高度似乎并不合适。
指定 SKScene 大小以使其尊重并适应我设备的尺寸、旋转等的正确方法是什么?
例如,理想情况下我可以省略尺寸:
sceneView.presentScene(SKScene()))
... 而是让自动布局为我调整场景大小。但是,正如链接的问题所示,这会导致场景无法正确显示。或者,如果自动布局不是一个选项,我应该重写哪些方法以确保我的场景始终正确实例化/更新?
我注意到,当我选择了不正确的尺寸(例如 200x200)时,它仍然会显示节点,但会将它们放大到更大。这让我相信,无论我选择什么尺寸,它总是会正确填充相机输出输出(即不会裁剪任何内容)。但是,如果我选择了错误的尺寸,艺术品将被不正确地放大/缩小。因此,我现在想知道我是否真的应该根据设备的尺寸来确定尺寸,还是根据相机给我的东西(例如像素分辨率)来确定尺寸。
【问题讨论】:
标签: ios swift sprite-kit autolayout arkit