ゲームなどのスコアーを表示する時に、自分でデザインした字を使って数を表示したいことがあります。
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
ソースファイルは、こちらからダウンロード
メモ
数字に限定したスコアー表示なら、これで桁数を増やせば大丈夫か?
英字も含めたテキスト表示をする場合は、スプライトシートのようなものを用意して、文字列を直接表示させられるような仕組みが良いかも…
コメントを残す
コメントを投稿するにはログインしてください。