2014年12月17日水曜日

SpriteKit Programming Guide その1

  • iOS 8.1
  • SpriteKit (SpriteKit Programming Guide 2014-09-17)
iOS Developer Library の SpriteKit Programming Guide を調べてみました。



Introduction

この章ではSpriteKitの概要や、このドキュメントの使い方、前提条件などが記述されています。

SpriteKitは、
  • 画像のアニメーションや、サウンドを再生ができる。
  • フレームが描画される前に、各フレームの内容が処理されるレンダリングループを使用している。
とのこと。詳しいことは進めていくうちに明らかになっていくことでしょう・・・


Jumping into Sprite Kit

この章からサンプルプログラムを作成していきます。

Creating Your First Scene

XcodeのSingle View Application テンプレートを使用し、実際にコーディングしていきます。ポイントとしては以下と思われます。
  • SpriteKitではコンテンツを描画するためにSKViewクラスを使用する。
  • SKViewには診断情報(node数, draw数, FPS)を表示できる。
  • SKViewにSKSceneをセットする。

Adding Content to the Scene

次は「Hello World」を表示します。文字はSKLabelNodeクラスで作成し、SKSceneに追加するようです。
実行すると「Hello World」が表示され、診断情報には「1 node」と表示されました。

Using Actions to Animate Scenes

表示したノード(Hello World)をアニメーションさせてから削除します。ポイントは以下。
  • ノードに名前を付け、使用時に名前で呼び出す。
  • アニメーションはSKActionクラスで行う。
実行し、画面をクリックすると、文字がアニメーションした後に消え、診断情報は「0 nodes」になりました。

Transitioning Between Scenes

次はシーンの遷移です。新しいシーン(SpaceshipScene)を作成し、「Hello World」の文字削除後に新しいシーンに遷移するように実装します。
(runActionをrunAction:completion:に変更する)
気になったのがSpriteKitではSceneで遷移しているという点、Viewで遷移するのかと思ってました。

Building Complex Content Using Nodes

2番目のシーンに宇宙船を追加します。宇宙船は複数のノード(SKSpriteNode)を組み合わせて表示します(四角い船体に2つの四角いライト)。
ポイントは以下でしょう。
  • ライトは船体の子ノードで、船体はシーンの子ノードになる。


Creating Nodes That Interact with Each Other

宇宙船の上から無数の石を落とすという実装を行います。物理サブシステムというものを使い衝突などの動きをシミュレートしているとの事です。


以上が SpriteKit 基本的な技術で、残りは応用になるかと思います。
それはまた後ほど・・・

0 件のコメント:

コメントを投稿