[iOS][SpriteKit] Xcode8でSpriteKit開発を再開

プログラミングは趣味!

気が向かないとしないし、やる気にもならない。やっと最近、プログラミングしたい病になってきた。Xcodeも7から8へ、OSXもmacOSへ、iOSも10へ・・・

アップデートで半日以上かかりました。以前作りかけてたいたゲームを、最新のデモをみながらやり直そうと決断。早速、SpriteKitのデモをみてみると、ストーリーボードのようにスプライトを配置してデザインが出来るとのこと!!感動です。めんどくさい座標配置などしなくてもよくなった!!

サンプルにて、GameSceneとGameScene.sksを使ったサンプルがあり、GameSceneを生成する時にGameViewControllerでシーン生成時にsksを指定し紐付けすればいい。

    // Load the SKScene from 'GameScene.sks'
    GameScene *scene = (GameScene *)[SKScene nodeWithFileNamed:@"GameScene"];
    
    // Set the scale mode to scale to fit the window
    scene.scaleMode = SKSceneScaleModeAspectFill;
    
    SKView *skView = (SKView *)self.view;
    
    // Present the scene
    [skView presentScene:scene];

サンプルは上の様になっている。

というわけで、ゲーム起動画面に表示される著作権情報とロゴシーンを試しに作ろうと、CoyRightScene.sksとCopyRigthtSceneクラスを作り、上のコードと同じくコーディングした。

しかし、CopyRigthSceneが表示されるまではOKだが、シーン生成時に呼び出されるはずのdidMoveToViewが呼び出されない。いろいろ、sksファイルを比べて見たら、sksのCustumClassにクラス名(CopyRightScene)を指定しなければならなかった。結構迷った・・・。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-27-21-35-39