ゲームなどのスコアーを表示する時に、自分でデザインした字を使って数を表示したいことがあります。
0から9までの数字画像を作って、数を画像で表示する方法を試してみました。
1桁の数を表示するムービークリップを作成します。
1フレーム目にはアクションstop();を記述しておきます(再生と同時に動き始めてしまわないように)。
1フレーム目には0、2フレーム目には1、3フレーム目には2、・・・のように10フレームにわたって数を表す画像を描きます。
作成したムービークリップをステージに配置し、インスタンス名をdispNumに設定します。
package { import flash.display.MovieClip; import flash.utils.Timer; import flash.events.TimerEvent; public class DispNumber extends MovieClip { var timer:Timer; var count:Number = 0; public function DispNumber() { timer = new Timer(500); timer.addEventListener(TimerEvent.TIMER, loop); timer.start(); } function loop(e:TimerEvent):void { dispNum.gotoAndStop(count + 1); count++; if(count > 9) count = 0; } } }
0.5秒ごとに繰り返し呼び出される関数を用意し、カウンタの表示と数字のカウントアップを行なっています。
数が9より大きくなった場合は、0に戻しています。
実行結果
This movie requires Flash Player 11
ソースファイルは、こちらからダウンロード
メモ
数字に限定したスコアー表示なら、これで桁数を増やせば大丈夫か?
英字も含めたテキスト表示をする場合は、スプライトシートのようなものを用意して、文字列を直接表示させられるような仕組みが良いかも…
コメントを残す
コメントを投稿するにはログインしてください。