1、 運行Flash MX 2004,新建影片剪輯,命名為“表盤”。進入編輯區繪制壹條直線,單擊窗口|設計面板|變形命令,打開變形面板,添入旋轉角度為30度,拷貝並應用變形。按照同樣方法,繪制出其他分鐘的刻度。
2、 在背景層中我們添加三個動態文本框,變量名稱為:“weeks”,“days”和“timebox”。
3、 分別新建三個影片剪輯,命名為“時針”,“分針”,“秒針”。繪制三個指針的形狀。註意指針的中心點的位置。
4、 導入壹段指針移動的模擬音樂。在聲音文件的連接屬性中選擇“為動作腳本導出”,命名為“sound”。
5、 新建壹個影片剪輯,命名為“音樂”。在第1幀添加as:stop(); 第2幀插入空白關鍵幀,添加as:
ss = new Sound();
ss.attachSound("sound");
ss.start();
ss.onSoundComplete = function() {
ss.start();
}; //調用庫中的聲音文件sound
6、返回到場景1,把“表盤”影片剪輯拖放到舞臺中,利用對齊面板使之處與舞臺中央位置。
7、新建壹個圖層,繪制壹個中心點。同樣利用對齊面板使之處與中央位置。
8、新建三個圖層,分別放置“時針”,“分針”,“秒針”影片剪輯。註意,影片剪輯的中心點要與步驟6繪制的中心點重合。
1、 新建壹個音樂層,把“音樂”影片剪輯放置在場景的任何位置。在下面的屬性面板中,命名為“777”。
2、 分別選擇“時針”,“分針”,“秒針”三個影片剪輯,在下面的屬性面板中分別命名為“hourpoints”,“minutepoints”和“secondpoints”。
3、 好了,準備工作已經完成了。下面我們添加AS。
4、 選中“表盤”影片剪輯,添加as語句:
onClipEvent (load) {
weekArray = new Array(’星期日’, ’星期壹’, ’星期二’, ’星期三’, ’星期四’, ’星期五’, ’星期六’);//建立壹個數組,***七個元素
timedate = new Date();//建立壹個新的時間對象
}
onClipEvent (enterFrame) {
week = timedate.getDay();//返加0~6,0時取“星期日”;1時取“星期壹”…….
weekday = weekArray[week];//從數組中讀取中文顯示,參看上壹句的解釋
day = timedate.getDate();//當前的日期,返回值為1~31
hour = timedate.getHours();//當前的時,返回0~23
minute = timedate.getMinutes();當前的分,返回0~59
second = timedate.getSeconds();當前的秒,返回0~59
if (hour<10) {
hour = "0" + hour;//如果時小於10,前面顯示加“0”
}
if (minute<10) {
minute = "0" + minute;//同上
}
if (second<10) {
second = "0" + second;//同上
}
timebox = hour+" : "+minute+" : "+second;//顯示在動態文本框中
weeks = weekday;//同上壹句
days = day;//同上壹句
delete timedate;//刪除時間對象,目的是實時顯示時間
timedate = new Date();//新建時間對象
}
5、 選擇“時針”影片剪輯,添加as語句:
onClipEvent (enterFrame) {
hourangle = _root.clock.hour*30+_root.clock.minute/2;
//把鐘表符號中的時針對應的角度值賦值給變量“hourangle”
setProperty ("_root.hourpoints", _rotation, hourangle);
}//設置分針的旋轉角度
6、 選擇“分針”影片剪輯,添加as語句:
onClipEvent (enterFrame) {
minuteangle = _root.clock.minute*6;
//把鐘表符號中的分針對應的角度值賦值給變量“minuteangle”
setProperty ("_root.minutepoints", _rotation, minuteangle);
}//設置分針的旋轉角度
7、 選擇“秒針”影片剪輯,添加as語句:
onClipEvent (enterFrame) {
secondsangle = _root.clock.second*6;
//把鐘表符號中的秒針對應的角度值賦值給變量“secondsangle”
setProperty ("_root.secondpoints", _rotation, secondsangle);
}//設置秒針的旋轉角度
16、測試,保存。請參看源文件“時鐘”。
特別說明
要實現指針式雙歷鐘表,要掌握的知識包括:FLASH的日期型函數和變量的使用,文本框的設置,時間顯示的調整,數組的簡單應用,以及如何實時的、動態的顯示時間;最主要的是利用指針的角度與當前時間的函數關系,才能使時鐘準確的指示時間。從中可以看出,如果推理不出這個函數關系,就做不成。所以我們應該多學習壹下,多練練自己的邏輯思維能力