AS3 アナログ時計

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

アナログ時計の作り方を紹介します。

針のムービークリップを作る場合には、針が回転する位置が中心点になるようにし、
針のイメージを垂直に描かなければなりません。

短針 → hour、長身 → minute、秒針 → second
とインスタンス名を付けます。
それらを盤面と一緒にムービクリップac_mcにまとめます。
針はどれも垂直に作ってあるので、3本の針は12時を指した状態で重なって見えます。
DigitalClock.as


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

	public class AnalogClock {
		var clock_mc:MovieClip;
		//コンストラクタ
		function AnalogClock(mc:MovieClip) {
			clock_mc = mc;
			clock_mc.addEventListener(Event.ENTER_FRAME, on_EnterFrame);
		}
		//時計を更新する
		function on_EnterFrame(event:Event):void {
			var timeDegreeObj:Object = getTimeDegree();
			//針の回転角度を設定する
			clock_mc.hour.rotation = timeDegreeObj.hh;
			clock_mc.minute.rotation = timeDegreeObj.mm;
			clock_mc.second.rotation = timeDegreeObj.ss;
		}
		//現在時刻の角度を調べる
		function getTimeDegree():Object {
			//現在時刻の時分秒を調べる
			var now:Date = new Date();
			var hh:Number = now.getHours();
			var mm:Number = now.getMinutes();
			var ss:Number = now.getSeconds();
			//時分秒の針の角度を計算する
			var timeDegreeObj:Object = new Object();
			timeDegreeObj.hh = hh * 30 + mm * 0.5;
			timeDegreeObj.mm = mm*360/60;
			timeDegreeObj.ss = ss * 6;
			return timeDegreeObj;
		}
	}
}
      

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


import AnalogClock;
var ac:AnalogClock = new AnalogClock(ac_mc);

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

コメント

トラックバック

Casino 1241718479

Casino 1241718479

2009年5月9日 3:08 PM | Casino 1241718479

コメントの投稿

* コメントフィード

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

ページの先頭へ戻る