しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

SpriteKitでStoryboardのようにGUIで画面を作る

SpriteKitでもStoryboardのようにドラッグ & ドロップでゲームが作れるようになってたので試してみました。

sksの作成

GUIはsksという形式のファイル上で操作します。
まずはNew file → ResourceのSpriteKit Sceneを選択します。

f:id:llcc:20150913182713p:plain

作成をすると下のような画面になります。
右下にラベルやカメラがあるので画面上にドラッグしてみます。

f:id:llcc:20150913182844p:plain

続けてSKSceneファイルを作成します。

f:id:llcc:20150913183237p:plain

sksの呼び出し

sksを呼び出すには下のようにinit(fileNamed:)を使います。

if let scene = MyScene(fileNamed: "MyScene") {
    let skView = self.view as! SKView
    scene.scaleMode = .AspectFill
    skView.presentScene(scene)
}

これで先ほど画面に貼り付けたラベルが画面に表示されるかと思います。

f:id:llcc:20150913183329p:plain

Swiftからsks上のオブジェクトを呼び出す

コード上からsks上のオブジェクトを呼び出してみます。
まずは先ほど作成したラベルを選択して名前(Name)を確認します。

f:id:llcc:20150913183534p:plain

コード上では下のようにselfに対して名前を指定すればsks上のラベルを取得できます。

let label = self["SKLabelNode_0"].first as? SKLabelNode
label?.text = "AAA"

実際にラベルのテキストを変更する事ができました。

f:id:llcc:20150913184037p:plain