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);
メソッド、プロパティの説明はこちら»»»
2009年5月7日 3:40 PM | カテゴリー:ActionScript3.0 Dateクラス, ActionScript3.0 サンプルコード