2014年11月27日

SpriteKitのランループ

SpriteKitでは画面描画1フレームごとに下記のランループを実行している。この周期が60fpsであれば1秒間に60回実行されるし、30fpsであれば30回実行される。

iOS7



  1. -update

  2. (Evaluate Actions)

  3. -didEvaluateAction

  4. (Simulate Physics)

  5. -didSimulatePhysics

  6. (Rendering)



かっこ()で囲んだものはフレームワーク側で実行される処理。それ以外がユーザーが書いたコードで実行されるもの。

-updateで、各ループ中で更新すべきゲームの処理を実行。-didEvaluateActionでは、SKActionで設定されたアクションが実行された後で行いたい処理を書く。例えば移動した後の判定だとか、画面外に消えた時の処理など。
-didSimulatePhysicsでは物理シミュレーション実行後の処理。衝突判定などもここで書くほうがいいだろう。

iOS7.png

iOS8



  1. -update

  2. (Evaluate Actions)

  3. -didEvaluateAction

  4. (Simulate Physics)

  5. -didSimulatePhysics

  6. (Apply Constraints)

  7. -didApplyConstraints

  8. -didFinishUpdate

  9. (Rendering)



iOS8ではiOS7の処理に加えてさらに3つの処理が追加された。

iOS8.png
posted by 永遠製作所 at 00:50| 東京 ☔| Comment(0) | TrackBack(0) | iPhone/iPod touch | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。