アニメーション応用
 アニメーションコールバック(NSCALL_animation)を使用したサンプル(アニメーション応用)をDelusionist's Utopiaにアップしました。

 このスクリプトの特徴は、テーブルを使用することによって、一度の割り込みで複数の処理ができる点です。だいたいの流れは、まずテーブルに関数を登録し、割り込み時にテーブルを巡回して関数を呼び出し、処理を止める場合はテーブルから関数を削除する、という形になります。関数は呼び出される際にNSTiimerで取得した現在時間を渡されるので、それに応じた処理を行なうことにより、コールバックのインターバルに左右されない処理が可能です。逆に言えば、関数を記述する際はインターバルに左右されないように気をつける必要があります。できればインターバルを自動で調整(処理に時間がかかる場合は長めに、早く終わる場合は短めに)してくれるようにしたかったのですが、ちょっと微妙だったので今回は省きました。いい具合にスクリプトを組めたら更新しようと思います。
 で、コールバックで呼び出す関数のサンプルを3つ用意しました。時計を表示するclock命令と00からカウントアップしていくタイマーを表示するtimer命令、そしてマウスカーソルを徐々に移動させるmovemousecursor2命令の3つです。もっと数を増やしたかったのですが、時間に関する処理で思いついたのがこれくらいだったので……。まあ、複雑なことはしていないし、自分にしてはコメントをつけた方なので、そこそこ解りやすいかと思います。



 今回のスクリプトを組んでいて「複数のスプライトの移動を管理できる機構が欲しいなぁ」と思いました。吉里吉里のDefaultMover.tjsあたりを参考にして、書いてみようと思います。目標としては、あらかじめ読み込んでおいたスプライトの番号と移動方法、処理にかける時間なんかをLuaに渡すことで動かしてくれるような感じにしようかと。移動方法はせっかくスプライン補間があるから、それも使ってみたいですね。
[PR]
by lyricist_m | 2009-07-22 21:57 | NSLua
<< 保存と復帰 新ボタン命令によるシステムカス... >>