iPhoneゲームアプリのアニメーション表示
iPhoneアプリを開発するにあたって開発環境である
Xcode
は勿論、
アップル社からは様々な純正のフレームワークが無料で提供されています。
中にも
SpriteKit
なるフレームワークは2Dゲーム開発用に提供されているもので
iPhone専用にネイティブでゲームを開発するにはとても便利で有用です。
処でゲーム開発には時間の処理が欠かせません。
キャラクターの移動をリアルタイム処理したり
一定時間毎にアイテムを出現させたりイベントを起動させたり様々な要請が考えられるでしょう。
手元の開発ゲーム
うさ犬が行く
などでも其の開発初期にはアニメーションの表示タイミングを測るのに覚束ない面がありました。
SpriteKitではルートのViewとして用意されるクラス
SKScene
には
initWithSize
メソッドが用意され通例此処にゲームの初期設定などを記述しますが
此処にアニメーション表示タイミングを記述すると基本的に一定時間の繰り返し処理となり柔軟性に欠けます。
ゲーム内で要求されるフレキシブルな時間処理を把握するための取っ掛かりとして
システム時間をログに出力させてみようと考えました。
なおゲームアプリ
うさ犬が行く
はリリース時には開発言語に
Swift
を採用していますが本記事に記述する内容の実行時期、開発当初に於いては
Objective-C
で記述していたものです。
SKScene
の持つメソッドには
update(_:)
もありクラスのインスタンスが存在すれば随時実行される仕様となっていますので
ゲームではリアルタイムの実行処理に用いたり
タイムインターバルを取得して何某かの処理を実行させるのに用いたりします。
今回はupdateメソッドに於けるシステム時間の参考出力と考察を試みました。
SpriteKitフレームワークを用いたテンプレートを利用したプロジェクトを作成すれば
GameSceneクラスには以下の如き記述が用意されているでしょう。