SpriteKitのSKScene内から通常のViewControllerを呼び出したくなることがあるだろう。
今回はその方法を探っていく。
今回はその方法を探っていく。
SpriteKitのプロジェクトを作成したばかりのところから始めよう。
ViewController.mを見ると何の事はない、SKSceneを追加しているだけで、いつも私達が使っているViewControllerと何ら変わりない。
なので、一番手っ取り早いのはStoryboardでこのようにしてしまうことだ。

ボタンを置いて、そこからmodalでセグエを設定してやれば良い。
これだけで画面遷移は可能だ。
しかし、ゲーム画面に常にボタンを表示しておくわけにも行かない。
別の方法を考えよう。
先ほどのボタンとセグエは一旦削除する。
その上で、新しくViewControllerから2番めのViewControllerにセグエを設定する。

そのセグエにはIDを設定する。
ここでは"presentSecond"としておく。

それでは、2番目のViewControllerを呼び出すコードを書いていく。
MyScene.mを開こう。
今回は処理を簡単にするために画面にタッチしたら画面遷移を行うようにする。
touchesBeganメソッドを以下のように実装しよう。
さあ、実行してみよう。
問題なく画面遷移を行うことが出来た!

参考文献
ios - How to present a modal view in sprite kit? - Stack Overflow
ViewController.mを見ると何の事はない、SKSceneを追加しているだけで、いつも私達が使っているViewControllerと何ら変わりない。
なので、一番手っ取り早いのはStoryboardでこのようにしてしまうことだ。

ボタンを置いて、そこからmodalでセグエを設定してやれば良い。
これだけで画面遷移は可能だ。
しかし、ゲーム画面に常にボタンを表示しておくわけにも行かない。
別の方法を考えよう。
先ほどのボタンとセグエは一旦削除する。
その上で、新しくViewControllerから2番めのViewControllerにセグエを設定する。

そのセグエにはIDを設定する。
ここでは"presentSecond"としておく。

それでは、2番目のViewControllerを呼び出すコードを書いていく。
MyScene.mを開こう。
今回は処理を簡単にするために画面にタッチしたら画面遷移を行うようにする。
touchesBeganメソッドを以下のように実装しよう。
さあ、実行してみよう。
問題なく画面遷移を行うことが出来た!

参考文献
ios - How to present a modal view in sprite kit? - Stack Overflow
コメント