我一直在尝试将UIButton
用于游戏界面,但我仍然试图弄清楚如何通过我的视图控制器文件调用GameScene
文件中的方法。无论如何,我可以给我的视图控制器一个对实际显示在 GameScene.sks 文件中的GameScene实例的引用吗?
到目前为止,这是我在视图控制器中尝试的内容:
// Inside view controller
class GameViewController: UIViewController {
static var gameScene: GameScene = GameScene()
func setGameScene(scene: GameScene) {
GameViewController.gameScene = scene
}
...
这就是我在GameScene文件中所做的。
//Inside GameScene.swift
class GameScene: SKScene {
override func didMove(to view: SKView) {
let vc = GameViewController()
vc.setGameScene(scene: self)
}
...
答案 0 :(得分:0)
您想为视图的场景创建计算属性
class GameViewController: UIViewController {
var gameScene : GameScene? { return (view as? SKView).scene as? GameScene}
...
}
现在这需要是可选的,因为有时您的场景可能不是GameScene
,这可能会导致您的应用崩溃。