
var now:Date = new Date();
now.fullYear // 年 (四位)
now.month + 1 // 月 (0-11 需 +1)
now.date // 日 (1-31)
now.day // 星期 (0-6, 0=周日)
now.hours // 時 (0-23)
now.minutes // 分
now.seconds // 秒
var timer:Timer = new Timer(1000, 5); // 1000ms 間隔,重複 5 次
timer.addEventListener(TimerEvent.TIMER, handler);
timer.start();
function handler(e:TimerEvent):void { trace("tick"); }
// 界面準備:
// 秒針 mz_mc、分針 fz_mc、時針 sz_mc (注冊點底部置中)
// 動態文本:y_txt(年)、m_txt(月)、d_txt(日)、w_txt(星期)
var clockTimer:Timer = new Timer(1000); // 1 秒觸發
clockTimer.addEventListener(TimerEvent.TIMER, updateClock);
clockTimer.start();
function updateClock(e:TimerEvent):void {
var d:Date = new Date();
// 日期文本
y_txt.text = d.fullYear.toString();
m_txt.text = (d.month + 1).toString();
d_txt.text = d.date.toString();
var weeks:Array = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
w_txt.text = weeks[d.day];
// 12 小時制換算
var h:int = d.hours > 12 ? d.hours - 12 : d.hours;
var m:int = d.minutes;
var s:int = d.seconds;
// 指針旋轉角度計算
// 秒針:每秒 6°
mz_mc.rotation = s * 6;
// 分針:每分 6° + 秒針帶動 0.1°/秒 (6/60)
fz_mc.rotation = m * 6 + s / 10;
// 時針:每時 30° + 分針帶動 0.5°/分 (30/60)
sz_mc.rotation = h * 30 + m / 2;
}
此例綜合運用 `Date` 讀取、`Timer` 事件驅動、幾何旋轉數學、UI 綁定,是 AS3 事件驅動編程的經典入門實戰。