摘要:利用Flash動作腳本提供的交互程序設計。只需掌握一些簡單的腳本命令,就可制作精美的動態時鐘。
關鍵詞:Flash Action 元件 圖層
中圖分類號:TP317.4 文獻標識碼:B 文章編號:1002-2422(2008)01-0048-02
用Flash制作一個精美的動態小時鐘,將它拖到屏幕一角。方便查看當前時間和日期。最終效果圖見圖1。
(1)啟動Flash,新建一個影片文件(大小自定);
(2)制作時鐘里的時針。新建一個影片剪輯元件,命名為hours,進入元件的編輯區后,使用鋼筆工具繪制時針形狀,適當填充顏色,同時適當調整將中心位置,如圖2所示;
(3)制作時鐘里的分針。新建一個影片剪輯元件,命名為minutes,方法同步驟(2),如圖3所示;
(4)制作時鐘里的秒針。新建一個影片剪輯元件,命名為seconds,方法同步驟(2),如圖4所示;
(5)返回場景1,將圖層命名為“表盤”,先導入背景圖片并拖入到舞臺,調整大小,打散;使用橢圓工具制作一個空心圓環,適當調整位置大小,用作時鐘的邊框;添加表盤刻度:
(6)新建圖層,重命名為“指針”,然后將元件Hours、minutes和Seconds拖到場景中,注意指針中心位置應與表盤中心對齊;

(7)新建圖層,重命名為“日歷”,使用文本工具繪制一個動態文本框,設置動態文本框的文本變量名為datestr,用來動態顯示年、月、日和星期。注意可與“指針”層交換位置;

(8)添加一個圖層命名為Action,設置控制時鐘運行的Action腳本;
在第1幀添加如下Action:
time=new Date();
hours=time.getHours(); minutes=time.getMinutes();
seconds=time.getSeeonds();
if(hours>12){
hours=hours-12;
}
if(hours<1){
hours=12;
}
hours=hours*30+int(minutes/2);
minutes=minutes*6+int(seconds/10);
MoDnd8=seconds*6;
millisecond=fime.getMilllseeonds();
hours=hours*30+(minutes/2); minutes=minutes*6+(seconds/10);
seconds=(seconds+millisecond/1000)*6;
注意:替換上邊相應三句,可改變指針跳動頻率
year=time.getFullYear():
datestr=year+“年”+(time.getMonth()+1)+“月”+time.getDate()+“日”;
switch(time.getDay()){
case 1:datestrfdatestr+“星期一”;break;
cage 2:datestr=datestr+“星期一”;break;
case 3:datestr=datestr+“星期三”;break;
case 4:datesu'=datestr+“星期四”;break;
case 5:datestr=datestr+“星期五”;break;
case 6:datestr=datestr+“星期六”;break;
case 0:datestr=datestr+“星期日”;break;}
在第2幀添加如下Action:
gotoAndPlay(1);
(9)給三個表針添加各自的Action,使其可以按照自
己的規律進行旋轉。
給時針添加如下Action:
onClipEvent(enterFmme){
setProperty(this,_rotation,_root.hours);}
給分針添加如下Action:
onClipEvent(enterFrame){
setProperty(this,_rotation,_root.minutes);}
給秒針添加如下Action:
onClipEvent(enterFrame){
setProperty(this,_rotation,_root.seconds);}