ボタンを押したら SpriteKit に切り替えるには・・・
アプリを作成中なんですが、今のままの機能だけでは reject 必至だろうということで、ミニゲームの機能も持たせることにしました。アプリの画面にボタンを用意して、ボタンを押したら spritekit の画面に切り替えようとしたところエラー発生・・・
呼び出し元のボタンでは、以下のように呼びます。
[self presentViewController:gameViewController animated:YES completion:nil];
呼ばれた ViewController は spritekit の Scene を呼ぶわけですが、この ViewController の実態は UIViewController。テンプレまんまで、以下の通り。
SKView* skView = (SKView *)self.view;
これではダメで、以下の通りでようやくうまくいきました。
CGRect applicationFrame = [[UIScreen mainScreen] bounds];
SKView *skView = [[SKView alloc] initWithFrame:applicationFrame];
self.view = skView;
実は以前もトライして、うまくいかなかったんですが、今にしてようやくなるほどと。