GameScene
からViewController
へdelegateを通したのですが正しく機能しません。
やりたいこと
GameScene
の特定のイベント時の動作をViewController
へ移譲したい
コード
swift
1protocol TestDelegate { 2 func start() -> Int 3} 4 5class TestViewController: UIViewController, TestDelegate { 6 7 var mainGmScn: MainGameScene? 8 9 override func viewDidLoad() { 10 super.viewDidLoad() 11 12 if let scene = SKScene(fileNamed: "MainGameScene") { 13 mainGmScn = scene as? MainGameScene 14 mainGmScn?.testDlgt = self 15 } 16 } 17 18 func start() -> Int{ 19 let test = 0 20 return test 21 } 22} 23 24class MainGameScene: SKScene { 25 26 var tsetDlgt: TestDelegate? 27 28 29 override func didMove(to view: SKView) { 30 31 print("\(tsetDlgt?.start())") // -> nil 32 } 33}
補足
TestViewController
’ ↳MainSKView
’ ↳MainGameScene
という階層になっているので不要だと判断したコードは省略しております。
不足している情報があればすぐに質問内容の編集を行うの申し付けください。
この問題を解決できる方法をご存知の方、何卒ご教授ください。
宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。