Takunojiの日記

自分が勉強したプログラム技術メモ

SpriteKitチュートリアルをやってみる 其の五

イントロダクション

前回は、画面がうまく表示されなかったのでその修正をしました。

ちょうど良いので、クラス・ファイルの関係性を、まとめたいと思います。

 

処理の流れ

【処理の順番】

Main.storybord                  → アプリケーション1つにつき一つだけ存在する
GameViewController.swift → UIViewControllerを継承したクラスでアプリのMainになる
GameScene.swift              → 作成した、TitlePageなどの親クラス
GameScene.sks                → 未使用
TitlePage.sks.                    → 初期画面を作成しました
TitlePage.swift                   → 上記画面の動き(アクション)を定義します
Footer.sks                          → フッター部分の画面を定義します
             ※他の画面から参照されます
【補足】

f:id:Takunoji:20170814225359p:plain

*.sksファイルで定義している各画面コンポーネント(ボタン、テキストラベル etc...)
の名前より各コンポーネントオブジェクト(プログラムでアクセスするオブジェクト)
を読み込み処理を行います。名前がプログラムで定義しているものとsksファイルで
定義しているものが違うとエラーになります。

f:id:Takunoji:20170815170848p:plainf:id:Takunoji:20170815170903p:plain

上記はソースと設定する部分のキャプチャです。

 

図で関係を見る


汚いですが、クラス図で書くとこんな感じになります。
赤い枠が親クラス、緑の枠が子供のクラスです。

f:id:Takunoji:20170815171638p:plain

GameScene.swiftで定義した、goNextScene(), goPreviousScene()など頭に
「override」が付いていて、小クラスで同じ名前のメソッドはこのクラスのメソッドを
オーバーライドします。
【補足】
オーバーライドするということは、GameSceneを継承した各クラスでそれぞれの
処理を起動できるということです。
逆に、オーバーライドしなければ親クラス(GameScene)のメソッドが起動します。
ここら辺を注意してやれば、実際に処理が起動するはずです。
因みに筆者は、起動こそしましたが、パソコンのスペックでしょうか。。。
アニメーションがすごーーーーく遅かったです。(悲)

以上、画面遷移までのチュートリアルでした。

この続きは、次回。。。