前提・実現したいこと
Swift(Xcode)でタップすればシーン遷移するシステムを作っています。
ビルドしてタップした際に以下のエラーメッセージが発生しました。
どの部分がnilになっているか知りたいです。
発生している問題・エラーメッセージ
Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value
該当のソースコード
TitleScene
1import Foundation 2import SpriteKit 3 4class TitleScene: SKScene { 5 6 var changeSceneDelegate: ChangeSceneProtocol! 7 8 override func didMove(to view: SKView) { 9 10 self.backgroundColor = UIColor.orange 11 12 print("TitleScene") 13 14 let label = SKLabelNode() 15 label.text = "Title Scene" 16 label.fontSize = 50 17 label.fontColor = UIColor.black 18 label.position = CGPoint(x: self.frame.width/2.0, y: self.size.height/2.0) 19 self.addChild(label) 20 } 21 22 override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 23 changeSceneDelegate.changeScene(scene: self) 24 } 25 26}
SceneManager
1import Foundation 2import SpriteKit 3class SceneManager: NSObject { 4 5 //タイトルシーン 6 class func titleScene(size: CGSize) -> TitleScene { 7 let scene = TitleScene(size: size) 8 return scene 9 } 10 11 //ゲームシーン 12 class func gameScene(size: CGSize) -> GameScene { 13 let scene = GameScene(size: size) 14 return scene 15 } 16 17 //シーン切り替え 18 class func changeScene(view: SKView, New newScene: SKScene, Duration sec: TimeInterval){ 19 let transition = SKTransition.fade(withDuration: 0.5) 20 view.presentScene(newScene, transition: transition) 21 }
ChangeSceneProtocol
1import Foundation 2import SpriteKit 3 4protocol ChangeSceneProtocol { 5 func changeScene(scene: SKScene) 6} 7
試したこと
自分自身でnilを探しましたが見つけることができませんでした。
補足情報(FW/ツールのバージョンなど)
Swift5,Xcode 10.2.1,
参考にしたサイト
https://qiita.com/kimi_dropc/items/a538fd1fbc255563ec79
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/15 08:53
2020/01/15 08:58