摘要:該文通過(guò)分析兩個(gè)Flash案例說(shuō)明如何利用ActionScript 2.0的Date類(lèi)獲取相對(duì)于通用時(shí)間(格林尼治平均時(shí),也叫UTC)或相對(duì)于運(yùn)行Flash播放器的操作系統(tǒng)的日期和時(shí)間值。實(shí)現(xiàn)案例操作的基本原理都是通過(guò)從系統(tǒng)中獲取新的日期和時(shí)間值創(chuàng)建一個(gè)Date對(duì)象實(shí)例。
關(guān)鍵詞: FLASH;Date類(lèi);案例分析
中圖分類(lèi)號(hào):TP37 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2009)15-4015-02
FLASH Date Class in the Case Studies and Research
QING Qiao
(Sichuan Posts and Telecommunications Professional Technology Institute, Computer Department, Chengdu 610067, China)
Abstract: By analyzing the cases of both Flash how to use ActionScript 2.0 Description of the Date Class to obtain in relation to Universal Time (Greenwich mean time, also known as UTC), or compared with the Flash Player to run the operating system date and time value. Case implementation of the basic principles of operation are from the system through access to the new date and time values to create a Date object instance.
Key words: flash; date class; case studies
1 引言
FLASH 的動(dòng)作腳本從5.0開(kāi)始應(yīng)用了面向類(lèi)的編程概念,這使得其腳本語(yǔ)言功能變得更加強(qiáng)大。Flash中內(nèi)置的Date類(lèi)函數(shù)提供了獲取或修改日期及時(shí)間的功能。(注:獲取的時(shí)間是本地電腦的系統(tǒng)時(shí)間和日期)下面列出一些基本命令及解釋。
2 日期時(shí)間的基本命令及解釋
Date類(lèi)的應(yīng)用方法里有很多的類(lèi)函數(shù),它們的主要功能見(jiàn)表1 。
要使用上面的命令,必須先用Date 對(duì)象的構(gòu)造函數(shù)創(chuàng)建一個(gè) Date 對(duì)象的變量,然后用創(chuàng)建的這個(gè)實(shí)例變量來(lái)進(jìn)行操作,其命令格式如下:
實(shí)例變量名=new Date();
3 構(gòu)造日期型實(shí)例的具體方法
如果未給定參數(shù),則Date()構(gòu)造函數(shù)將按照您所在時(shí)區(qū)的本地時(shí)間返回包含當(dāng)前日期和時(shí)間的 Date 對(duì)象。下面是一個(gè)示例:
var mydate:Date = new Date();
//實(shí)際上mydate中就是當(dāng)前的日期和時(shí)間了
可以將多個(gè)數(shù)值參數(shù)傳遞給 Date() 構(gòu)造函數(shù)。該構(gòu)造函數(shù)將這些參數(shù)分別視為年、月、日、小時(shí)、分鐘、秒和毫秒,并將返回一個(gè)對(duì)應(yīng)的 Date 對(duì)象。假定這些輸入?yún)?shù)采用的是本地時(shí)間而不是 UTC。以下語(yǔ)句獲取一個(gè)設(shè)置為 2008年 8 月 8 日20點(diǎn)0分0秒0毫秒(本地時(shí)間)的 Date 對(duì)象:
var mydate:Date = new Date(2008, 7, 8, 20, 0, 0, 0);//那么mydate就表示2008年8月8日20點(diǎn)
注:單位實(shí)際上是毫秒
4 日期類(lèi)的經(jīng)典案例
4.1 案例一:走動(dòng)的時(shí)鐘
4.1.1 案例分析
在Flash里繪制鐘表盤(pán),時(shí)針、分針和秒針,通過(guò)定義Date類(lèi)實(shí)例對(duì)象來(lái)獲得當(dāng)前時(shí)間的小時(shí)數(shù)、分鐘數(shù)和秒數(shù),再計(jì)算時(shí)針、分針和秒針在當(dāng)前時(shí)間對(duì)應(yīng)旋轉(zhuǎn)的角度,產(chǎn)生和走動(dòng)的時(shí)鐘一樣的效果。
4.1.2 案例制作流程
1) 先畫(huà)表盤(pán),定義為MC;
2) 創(chuàng)建3個(gè)MC,分別畫(huà)時(shí)針、分針和秒針;
3) 新建MC,命名為time,將MC時(shí)針、分針和秒針拖入,重合在一起,但分別為他們的實(shí)例命名為:shizhen、fenzhen和miaozhen;
4) 在舞臺(tái)上建兩層,層1背景,拖入表盤(pán),層2,拖入MC time;
5) 在舞臺(tái)上新建AS層,為其首幀編寫(xiě)代碼:
_root.time.onEnterFrame=function(){
mydate = new Date();
_root.time.shizhen._rotation= mydate.getHours()*30+mydate.getMinutes()*0.5;
_root.time.fenzhen._rotation= mydate.getMinutes()*6;
_root.time.miaozhen._rotation= mydate.getSeconds()*6;
}
4.2 案例二:在文本框中顯示當(dāng)前日期和星期
4.2.1 案例分析
在上例的基礎(chǔ)上,顯示當(dāng)前的日期和星期。可利用上例定義的Date類(lèi)變量mydate取得當(dāng)前系統(tǒng)時(shí)間和星期數(shù),顯示在舞臺(tái)上的動(dòng)態(tài)文本框中。取得當(dāng)前年、月、日的語(yǔ)句分別為mydate. getFullYear()、mydate.getMonth()和mydate.getDate(),其中g(shù)etMonth()是根據(jù)本機(jī)時(shí)間獲得當(dāng)前月份,0表示1月,所以在編程時(shí)應(yīng)注意,mydate.getMonth()=7是表示8月;取得本機(jī)星期數(shù)的語(yǔ)句為mydate.getDay(),其中0表示周日,1表示周一,其余以此類(lèi)推。
4.2.2 案例制作流程
1) 在上例中新建層,畫(huà)動(dòng)態(tài)文本框2個(gè),分別命名為date_t和weeki
2) 在AS層中的第1幀處改變代碼如下:
_root.time.onEnterFrame=function(){
mydate = new Date();
_root.time.shizhen._rotation= mydate.getHours()*30+mydate.getMinutes()*0.5;
_root.time.fenzhen._rotation= mydate.getMinutes()*6;
_root.time.miaozhen._rotation= mydate.getSeconds()*6;
_root.year=mydate.getFullYear();//年
_root.month=mydate.getMonth()+1;//0代表1月
_root.day=mydate.getDate();//日
_root.date_t=_root.year+\"年\"+_root.month+\"月\"+_root.day+\"日\(chéng)"http://年+月+日
Week_d = new Array('日', '一', '二', '三', '四', '五', '六'); // 轉(zhuǎn)換為中文星期顯示
week = mydate.getDay();//星期
_root.weeki = \"星期\"+week_d[week];
}
5 小結(jié)
通過(guò)上述案例的分析可以看出Date對(duì)象可獲取相對(duì)于通用時(shí)間(格林尼治平均時(shí),也叫UTC)或相對(duì)于運(yùn)行Flash播放器的操作系統(tǒng)的日期和時(shí)間值。實(shí)現(xiàn)案例操作的基本原理都是通過(guò)從系統(tǒng)中獲取新的日期和時(shí)間值創(chuàng)建一個(gè)Date對(duì)象實(shí)例。
參考文獻(xiàn):
[1] 沈大林.中文Flash 8案例教程[M].北京:中國(guó)鐵道出版社,2007.
[2] DDC傳媒.Flash Professional 8 標(biāo)準(zhǔn)培訓(xùn)教材[M].北京:人民郵電出版社,2007.
[3] 張震.Flash8 動(dòng)畫(huà)網(wǎng)頁(yè)制作與實(shí)例教程[M].北京:冶金工業(yè)出版社,2006.