我在 Xcode 8 beta 4 上使用 Sprite Kit Level 编辑器开发了一款通用游戏。
我在关卡编辑器中的场景是 750x3334。在我的场景中,我有一个背景图像,背景图像被调整为场景大小。
场景锚点 = (0,1) 左上角
背景锚点 = (0,1) 左上角。
我需要在我的场景中安装一个相机。
我设置了一个比例为 (1,1) 的 SKCameraNode,相机的位置是我场景的中心。
创建场景:
if let scene = GKScene(fileNamed: "GameScene") {
if let sceneNode = scene.rootNode as! GameScene? {
// Copy gameplay related content over to the scene
sceneNode.entities = scene.entities
sceneNode.graphs = scene.graphs
sceneNode.scaleMode = .aspectFill
if let view = self.view as! SKView? {
view.presentScene(sceneNode)
view.ignoresSiblingOrder = true
view.showsFPS = true
view.showsNodeCount = true
}
}
}
当游戏启动时,我的相机必须设置为背景的顶部等于设备的顶部边缘。
要做到这一点:
override func sceneDidLoad() {
camera?.position.y = -UIScreen.main.nativeBounds.size.height/2
}
对于 iPhone 6,它可以完美运行。对于 iPhone 5、6+,我在顶部边缘有一个空白区域(场景外)。
所以也许我的逻辑是错误的......