AS3 画像を使ったデジタル時計

このFlashの表示にはFlash Player 9以降が必要です。

画像を使ったデジタル時計の作り方を紹介します。
まず0~9の画像を各フレームに配置したムービクリップを作ります。
次にそもインスタンスを2個並べたムービークリップを作り、
num10、num01とインスタンス名を付けます。
これが時分秒のそれぞれ2桁の数字になります。

さらに時分秒と表示するために「00:00:00」のように上記のムービクリップのインスタンスを並べたムービクリップdc_mcを作りそれぞれのインスタンスに、hh,mm,ssとインスタンス名を付けます。

DigitalClock.as


package {
	import flash.events.Event;
	import flash.display.MovieClip;

	public class DigitalClock {
		var clock_mc:MovieClip;
		//コンストラクタ
		function DigitalClock(mc:MovieClip) {
			clock_mc = mc;
			clock_mc.addEventListener(Event.ENTER_FRAME, on_EnterFrame);
		}
		//時計を更新する
		function on_EnterFrame(event:Event):void {
			var dateObj:Object = getDateDigit();
			//0〜9の数字を各桁で表示する
			clock_mc.hh.num10.gotoAndStop(dateObj.h10+1);
			clock_mc.hh.num01.gotoAndStop(dateObj.h01+1);
			clock_mc.mm.num10.gotoAndStop(dateObj.m10+1);
			clock_mc.mm.num01.gotoAndStop(dateObj.m01+1);
			clock_mc.ss.num10.gotoAndStop(dateObj.s10+1);
			clock_mc.ss.num01.gotoAndStop(dateObj.s01+1);
		}
		//現在時刻を調べる
		function getDateDigit():Object {
			//現在時刻の時分秒を調べる
			var now:Date = new Date();
			var hh:Number = now.getHours();
			var mm:Number = now.getMinutes();
			var ss:Number = now.getSeconds();
			//2桁を1桁ずつに分ける
			var dateObj:Object = new Object();
			dateObj.h10 = Math.floor(hh/10);
			dateObj.h01 = hh%10;
			dateObj.m10 = Math.floor(mm/10);
			dateObj.m01 = mm%10;
			dateObj.s10 = Math.floor(ss/10);
			dateObj.s01 = ss%10;
			return dateObj;
		}
	}
}
      

メインのタイムラインのフレームアクション


import DigitalClock;
var dc:DigitalClock = new DigitalClock(dc_mc);

メソッド、プロパティの説明はこちら»»»

コメント

コメントの投稿

* コメントフィード

トラックバックURL : http://studio-benkei.com/flash-as/wp-trackback.php?p=333

ページの先頭へ戻る