SpriteKit 画面構成と作成方法

Swift4での開発で、SpriteKitを使用している時につまずいたところをメモ。

SpriteKitにUITextFieldが表示できない。

色々とサイトを眺め、コードを書いたりしてやるが表示できない。

【原因】

self.view?.addSubview(textField)」で追加すると画面のルート部分に追加されるので画面上に目で確認する事ができない→意味なし(笑)

【参考サイト】

SpriteKit Tutorial: Create an Interactive Children’s Book with SpriteKit and Swift 3


このページによると、

SpriteKitの画面コンポーネントの構成について記載してある。大雑把に以下の通り

・画面コンポーネントについて

1. Main.storybordはアプリケーション起動時にGameControllerViewに追加される。

if let scene = SKScene(fileNamed: "GameScene") {
   // ...
}

上記のコードは、「GameScene.sks」ファイルで作成した画面を取り込んでいる処理で

今後作成するクラスはGameSceneクラスの子どもになる

【クラス関連図?】

f:id:Takunoji:20170814103320p:plain

【ページの作成方】XCodeでの操作になります。

1.  /File/NewFile/ ... iOS/Resource/SpriteKit Scene テンプレートを選択する。

2. Nextを押下して、タイトルページをシーンエディターで作成します。(TitlePage.sks)
※アセット(作成したイメージファイルなど)はMedia libraryから取得する事ができます。

全てのイメージファイルなどは、Assets.xcAssets に保存しておいてください。

f:id:Takunoji:20170814105232p:plainイメージは以下の様です※未確認

 

f:id:Takunoji:20170814105655p:plain

f:id:Takunoji:20170814105739p:plain

そして参考サイトでのソースを

First, in GameViewController, the template created this line:

view.ignoresSiblingOrder = true

から

In GameViewController, set this value to false:

view.ignoresSiblingOrder = false

へ書き換えると以下のように表示されるみたいです。※自分は実行していません。。。

以上が画面の基本的な構成部分になります。次回は、UIKitの追加方法について