单视图应用程序中的 SpriteKit 场景?

问题描述

我正在 Xcode 上创建一个小游戏应用程序,使用单视图应用程序格式。但是,我希望在其中一个视图中添加一个砌砖游戏 - 这将极大地受益于 SpriteKit 中的物理特性。我曾尝试使用此处提出的先前问题中的此代码,实现我自己的场景:

let scene = Brick(fileNamed: "Brick")
scene?.scaleMode = .aspectFill
self.view?.presentScene(scene!,transition: SKTransition.flipHorizontal(withDuration: 0.42))

这给了我一个错误,无论我添加了多少导入,UIKit 都不包含“.presentScene”的方法。 我也尝试过使用 SpriteKit 视图,但老实说我不确定它是如何工作的,谷歌也没有帮助。 TLDR:如何使用 ViewControllers 和 segues 等将 SpriteKit 场景迷你游戏放入单视图应用程序中?

解决方法

假设你在一个普通的 UIViewController 中,那么你的 viewUIView 类型并且它确实不知道 presentScene 方法,它是 SKView 的一部分。您必须使用 SKView 来呈现您的场景。

假设你想添加一个并让它成为你的视图控制器视图的大小:

let scene = Brick(fileNamed: "Brick")!
scene.scaleMode = .aspectFill
let skView = SKView(frame: view.frame)
view.addSubview(skView)
skView.presentScene(scene,transition: SKTransition.flipHorizontal(withDuration: 0.42))

或者使用 Interface Builder 将 SKView 添加到您的视图控制器 UI,然后将其与 IBOutlet 连接。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...