FLASH3D旋轉(zhuǎn)和3D位移
若水221147由 分享
時(shí)間:
本例為用Flash AS3.0制作時(shí)鐘的實(shí)例教程,為Flash AS入門(mén)教程第八課的延伸教程,希望能給朋友們帶來(lái)幫助。
AS3.0實(shí)例教程二-時(shí)鐘的制作
效果:

雖然制作時(shí)鐘老套了點(diǎn),但它確可以較全面地應(yīng)用到時(shí)間日期和間隔等知識(shí),仍不失為較好的入門(mén)練習(xí)。
一. AS3.0時(shí)間日期簡(jiǎn)介
時(shí)間和日期主要應(yīng)用在讀取時(shí)間日期和設(shè)置時(shí)間間隔兩個(gè)方面。在AS3.0中時(shí)間日期仍然是用Date類(lèi)來(lái)讀取,與AS2.0相比3.0要獲取時(shí)間日期更加方便一些。同樣的要使用Date類(lèi)首先要?jiǎng)?chuàng)建該類(lèi)的一個(gè)實(shí)例,比如:
var nowtime:Date = new Date();
這樣就獲得了一個(gè)Date的實(shí)例:nowtime
直接調(diào)用Date實(shí)例的一些屬性即可獲得當(dāng)前日期和時(shí)間,例:
nowtime.fullYear 當(dāng)前年份
nowtime.month+1 當(dāng)前月,month屬性的值是0-11,所以要獲得當(dāng)前月份應(yīng)該是month+1。
nowtime.date 當(dāng)前日
nowtime.day 當(dāng)前星期值為0-6
nowtime.hours 當(dāng)前小時(shí)
nowtime. minutes 當(dāng)前分鐘
nowtime. seconds 當(dāng)前秒鐘
在AS3.0中設(shè)置時(shí)間間隔最常用的應(yīng)該是Timer類(lèi)。
首先創(chuàng)建一個(gè)Timer類(lèi)的實(shí)例:
var 實(shí)例名稱:Timer = new Timer(間隔的毫秒數(shù),[重復(fù)次數(shù)]);
比如我們要設(shè)置一個(gè)每隔1秒鐘執(zhí)行一次,共要執(zhí)行5秒鐘的時(shí)間間隔:
var jg:Timer = new Timer(1000,5);
如果沒(méi)有設(shè)置重復(fù)次數(shù)參數(shù),那么將永不停止地每隔一間隔時(shí)間執(zhí)行一次。
創(chuàng)建Timer實(shí)例后,就用該實(shí)例偵聽(tīng)TIMER事件,來(lái)調(diào)用函數(shù):
jg. addEventListener(TimerEvent.TIMER,sc);
這樣每隔一秒將調(diào)用一次sc函數(shù),一共要調(diào)用5次。
還要用一句:
jg.start();
Timer實(shí)例開(kāi)始起動(dòng)。
將要執(zhí)行的動(dòng)作定義在一個(gè)函數(shù)中,如上面的sc函數(shù):
格式: function 函數(shù)名(event:TimerEvent):void{
要執(zhí)行的動(dòng)作
}
下面是一個(gè)完整的Timer類(lèi)應(yīng)用的代碼:
var i =0;
var jg:Timer = new Timer(1000,5);
jg. addEventListener(TimerEvent.TIMER,sc);
jg.start();
function sc(event:TimerEvent):void {
i++;
trace(i);
}
將上述代碼粘帖在第一幀,測(cè)試影片,每秒鐘將會(huì)輸出一個(gè)數(shù)字,5秒后結(jié)束運(yùn)行,最終結(jié)果是:
1
2
3
4
5
二、時(shí)鐘的制作:
按下圖制作好鐘面及指針,時(shí)針,分針,秒針均為MC,注冊(cè)點(diǎn)在底部正中,實(shí)例名稱分別為sz_mc,fz_mc,mz_mc
年月日星期共4個(gè)動(dòng)態(tài)文本框,實(shí)例名稱分別為:y_txt,m_txt,d_txt,w_txt
var dqtime:Timer = new Timer(1000);
function xssj(event:TimerEvent):void{
var sj:Date = new Date();
var nf = sj.fullYear;
var yf = sj.month+1;
var rq = sj.date;
var xq = sj.day;
var h = sj.hours;
var m = sj.minutes;
var s = sj.seconds;
var axq:Array = new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
y_txt.text = nf;
m_txt.text = yf;
d_txt.text = rq;
w_txt.text = axq[xq];
if(h>12){
h=h-12;
}
sz_mc.rotation = h*30+m/2;
fz_mc.rotation= m*6+s/10;
mz_mc.rotation = s*6;
}
dqtime.addEventListener(TimerEvent.TIMER,xssj);
dqtime.start();
AS3.0實(shí)例教程二-時(shí)鐘的制作
效果:

雖然制作時(shí)鐘老套了點(diǎn),但它確可以較全面地應(yīng)用到時(shí)間日期和間隔等知識(shí),仍不失為較好的入門(mén)練習(xí)。
一. AS3.0時(shí)間日期簡(jiǎn)介
時(shí)間和日期主要應(yīng)用在讀取時(shí)間日期和設(shè)置時(shí)間間隔兩個(gè)方面。在AS3.0中時(shí)間日期仍然是用Date類(lèi)來(lái)讀取,與AS2.0相比3.0要獲取時(shí)間日期更加方便一些。同樣的要使用Date類(lèi)首先要?jiǎng)?chuàng)建該類(lèi)的一個(gè)實(shí)例,比如:
var nowtime:Date = new Date();
這樣就獲得了一個(gè)Date的實(shí)例:nowtime
直接調(diào)用Date實(shí)例的一些屬性即可獲得當(dāng)前日期和時(shí)間,例:
nowtime.fullYear 當(dāng)前年份
nowtime.month+1 當(dāng)前月,month屬性的值是0-11,所以要獲得當(dāng)前月份應(yīng)該是month+1。
nowtime.date 當(dāng)前日
nowtime.day 當(dāng)前星期值為0-6
nowtime.hours 當(dāng)前小時(shí)
nowtime. minutes 當(dāng)前分鐘
nowtime. seconds 當(dāng)前秒鐘
在AS3.0中設(shè)置時(shí)間間隔最常用的應(yīng)該是Timer類(lèi)。
首先創(chuàng)建一個(gè)Timer類(lèi)的實(shí)例:
var 實(shí)例名稱:Timer = new Timer(間隔的毫秒數(shù),[重復(fù)次數(shù)]);
比如我們要設(shè)置一個(gè)每隔1秒鐘執(zhí)行一次,共要執(zhí)行5秒鐘的時(shí)間間隔:
var jg:Timer = new Timer(1000,5);
如果沒(méi)有設(shè)置重復(fù)次數(shù)參數(shù),那么將永不停止地每隔一間隔時(shí)間執(zhí)行一次。
創(chuàng)建Timer實(shí)例后,就用該實(shí)例偵聽(tīng)TIMER事件,來(lái)調(diào)用函數(shù):
jg. addEventListener(TimerEvent.TIMER,sc);
這樣每隔一秒將調(diào)用一次sc函數(shù),一共要調(diào)用5次。
還要用一句:
jg.start();
Timer實(shí)例開(kāi)始起動(dòng)。
將要執(zhí)行的動(dòng)作定義在一個(gè)函數(shù)中,如上面的sc函數(shù):
格式: function 函數(shù)名(event:TimerEvent):void{
要執(zhí)行的動(dòng)作
}
下面是一個(gè)完整的Timer類(lèi)應(yīng)用的代碼:
var i =0;
var jg:Timer = new Timer(1000,5);
jg. addEventListener(TimerEvent.TIMER,sc);
jg.start();
function sc(event:TimerEvent):void {
i++;
trace(i);
}
將上述代碼粘帖在第一幀,測(cè)試影片,每秒鐘將會(huì)輸出一個(gè)數(shù)字,5秒后結(jié)束運(yùn)行,最終結(jié)果是:
1
2
3
4
5
二、時(shí)鐘的制作:
按下圖制作好鐘面及指針,時(shí)針,分針,秒針均為MC,注冊(cè)點(diǎn)在底部正中,實(shí)例名稱分別為sz_mc,fz_mc,mz_mc
年月日星期共4個(gè)動(dòng)態(tài)文本框,實(shí)例名稱分別為:y_txt,m_txt,d_txt,w_txt
var dqtime:Timer = new Timer(1000);
function xssj(event:TimerEvent):void{
var sj:Date = new Date();
var nf = sj.fullYear;
var yf = sj.month+1;
var rq = sj.date;
var xq = sj.day;
var h = sj.hours;
var m = sj.minutes;
var s = sj.seconds;
var axq:Array = new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
y_txt.text = nf;
m_txt.text = yf;
d_txt.text = rq;
w_txt.text = axq[xq];
if(h>12){
h=h-12;
}
sz_mc.rotation = h*30+m/2;
fz_mc.rotation= m*6+s/10;
mz_mc.rotation = s*6;
}
dqtime.addEventListener(TimerEvent.TIMER,xssj);
dqtime.start();