devlog [naru design]

プログラミングやテクニカルな内容の覚え書き。

ゲームなどのスコアーを表示する時に、自分でデザインした字を使って数を表示したいことがあります。
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

ソースファイルは、こちらからダウンロード

メモ

数字に限定したスコアー表示なら、これで桁数を増やせば大丈夫か?
英字も含めたテキスト表示をする場合は、スプライトシートのようなものを用意して、文字列を直接表示させられるような仕組みが良いかも…

Pocket

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Trackback URL: