【Unity4】iTweenをラップしたフレームワーク化

古本屋でね、安かったので1巻と19巻と38巻を買った。

この頃の高橋留美子の絵は既に完成されていて、1巻の絵柄と最終巻38巻の絵柄はそれほど変化が無い。

リクエストとかもらったりしてね、この顔で。

Miiverseや絵心教室の元ネタにしようと思ったわけですよ。

冒頭の画像はそれだけのことです。

で、今日はタイトルのとおり、フレームワークを作っていた。

リファクタリングにいたる過程は前回の記事で書いたけど、オブジェクトの状態とその表現を完全に切り離した。

そして、行き当たりばったりにiTweenでアニメーションさせることはやめて、状態変化は即時反映、画面表示は順次状態の履歴を追っていくようにフレームワーク化したわけだ。

もっと具体的に言うと、オブジェクトに対してパラメータの変更を行う際は、パラメータはすぐに上書きして、画面表示のアニメーション実行命令をそのとき変化した値とともにキューに入れる、という方法。

レンダリングスレッド側ではキューにたまったアニメーション実行命令をシーケンシャルに実行していく。

こうしたことのメリットは、制御側がオブジェクトの状態表示が終わるのを待たずに次々処理を進めていけるということ。

内部処理のほうが早いので、画面表示が追いつかなくなることがあるとしても、あくまで表示上の話であって、内部的な数値のつじつまが狂うことは無い。

リアルタイムのアクションゲームでは、こうした方法だと、いわゆるラグが起きて操作性が悪い、ひどい場合はゲームにならないかもしれないが、今回はターン制のコマンド選択式のバトルだ。

原理的には、アニメーションが無くても進められるようなシステムであるべきだ。

どうしてもアニメーションの終了を待ちたければ、画面をロックしてコールバック命令をキューの最後に突っ込んでおけばよい。

これで、昨日の問題は片付いた。明日からまたガリガリとスクリプトを書いていこう。

5年前

コメントを残す

メールアドレスが公開されることはありません。