单视图应用程序中的 SpriteKit 场景?
SpriteKit scene in a single view application?
我正在 Xcode 上使用单视图应用格式创建一个小游戏应用。但是,我希望在其中一个视图中添加一个砌砖游戏——这将极大地受益于 SpriteKit 中的物理特性。我尝试使用此处提出的先前问题中的这段代码来实现我自己的场景:
let scene = Brick(fileNamed: "Brick")
scene?.scaleMode = .aspectFill
self.view?.presentScene(scene!, transition: SKTransition.flipHorizontal(withDuration: 0.42))
这给我一个错误,无论我添加多少导入,UIKit 都不包含“.presentScene”方法。
我也尝试过使用 SpriteKit 视图,但老实说我不确定它是如何工作的,而且 Google 没有帮助。
TLDR:如何使用 ViewControllers 和 segues 等将 SpriteKit 场景迷你游戏放入单个视图应用程序中?
假设你在一个普通的 UIViewController
中,那么你的 view
是 UIView
类型并且它确实不知道 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
.
连接
我正在 Xcode 上使用单视图应用格式创建一个小游戏应用。但是,我希望在其中一个视图中添加一个砌砖游戏——这将极大地受益于 SpriteKit 中的物理特性。我尝试使用此处提出的先前问题中的这段代码来实现我自己的场景:
let scene = Brick(fileNamed: "Brick")
scene?.scaleMode = .aspectFill
self.view?.presentScene(scene!, transition: SKTransition.flipHorizontal(withDuration: 0.42))
这给我一个错误,无论我添加多少导入,UIKit 都不包含“.presentScene”方法。 我也尝试过使用 SpriteKit 视图,但老实说我不确定它是如何工作的,而且 Google 没有帮助。 TLDR:如何使用 ViewControllers 和 segues 等将 SpriteKit 场景迷你游戏放入单个视图应用程序中?
假设你在一个普通的 UIViewController
中,那么你的 view
是 UIView
类型并且它确实不知道 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
.