鄭源源
我們在登錄Internet瀏覽網(wǎng)站時,經(jīng)常會看到一些主頁的廣告標(biāo)題欄下顯示時間問候語,它們可以根據(jù)本地運(yùn)行的電腦時間予以實時反饋,這些都是運(yùn)用asp或jsp語言來制作的。在Flash中,不需制作任何組件,而是利用強(qiáng)大的ActionScript控件功能,在動態(tài)文本框中調(diào)用Date對象來獲取正在運(yùn)行中的操作系統(tǒng)的時間和日期,通過調(diào)用動作gotoAndPlay使之循環(huán)執(zhí)行Date對象,不斷地刷新時間,同樣可以實現(xiàn)這一效果。
雙擊打開Flash的主界面,新建一個文件,設(shè)定影片大小為128×128像素。選擇文本工具(圖1),打開Text Optionsn屬性面板,在面板的下拉列表中選擇DynamicText(動態(tài)文本框),在畫板中繪制一個無邊的動態(tài)文本框。為了讓Flash能夠識別這一文本框,必須為其賦予一個變量名,如:dateTextField1,把該變量名填入Text Options的變量欄里,作為文本框的標(biāo)識(圖2)。
在圖層1的第一關(guān)鍵幀里單擊右鍵,從彈出的快捷菜單里選擇Actions命令,打開Fra-me Actions面板,單擊它的右上角,選擇“專家模式”,這時就可以在動作編輯窗口中輸入如下腳本:
myDate=newDate();//創(chuàng)建新的日期對象
dateTextField1=(mydate.getFullYear()+"年"+(mydate.getMonth()+1)+"月"+mydate.getDate()+"日" );
//根據(jù)本地機(jī)時間獲取當(dāng)前年、月、日,然后傳遞到動態(tài)文本框中輸出
按同樣的步驟新建圖層2,在第一幀里繪制一個動態(tài)文本框,定位在dateTextField1的下方,命名為dateTextField2,在幀動作中輸入如下腳本:
myDate=newDate();//創(chuàng)建新的日期對象
dateTextField2=mydate.getHours()+":"+mydate.get
Minutes()+":"+mydate.getSeconds();
//根據(jù)本地機(jī)時間獲取當(dāng)前小時、分鐘、秒,然后在動態(tài)文本框中輸出
需要注意的是,讀取getHours()命令時,F(xiàn)lash MX以前的版本會出現(xiàn)把系統(tǒng)時間23默認(rèn)為0的現(xiàn)象,針對這種現(xiàn)象我們可以把上面的腳本做一些修改:
dateTextField2=mydate.getHours()-1+":"+mydate. get
Minutes()+":"+mydate.getSeconds();
新建圖層3,在第一幀繪制一個動態(tài)文本框,同樣定位在dateTextField2的下方,命名為dateText-Field3,在幀動作中輸入如下腳本:
myDate=newDate();//創(chuàng)建新的日期對象
myDay=myDate.getDay();
myHour=myDate.getHours();//分別把星期幾、小時賦值給變量myDay、myHour中
if ( myDay < 1 ) {
myDay="日";
} else if ( myDay < 2 ) {
myDay="一";
} else if ( myDay < 3 ) {
myDay="二";
} else if ( myDay < 4 ) {
myDay="三";
} else if ( myDay < 5 ) {
myDay="四";
} else if ( myDay < 6 ) {
myDay="五";
} else {
myDay="六";
}
//判斷當(dāng)變量為星期幾時,返還相對應(yīng)的大寫字符,改變?nèi)掌诘妮斎敫袷?/p>
if ( myHour <= 6 ) {
myHour="凌晨好! ";
} else if ( myHour <= 11) {
myHour="上午好! ";
} else if ( myHour <=13) {
myHour="中午好! ";
} else if ( myHour <= 18) {
myHour="下午好! ";
} else if ( myHour <= 21) {
myHour="晚上好! ";
} else if ( myHour <=24) {
myHour="晚安! ";
}
//判斷當(dāng)變量小于或等于什么時間,則反饋相對應(yīng)的問候語
dateTextField3="星期"add myDay+""+myHour;
//把字符“星期”及問候語與獲得的日期數(shù)連接,然后在動態(tài)文本框中輸出
最后,分別在三個圖層中插入第二關(guān)鍵幀,在Actions命令中添加goto動作:
gotoAndPlay(1);//當(dāng)程序運(yùn)行到這里時,循環(huán)跳轉(zhuǎn)執(zhí)行第一幀
現(xiàn)在,按Ctrl+Enter運(yùn)行程序,看看執(zhí)行的結(jié)果如何吧!