FLASH 視頻教程 2009-11-01 17:50:40
第二禎:
gotoAndPlay(1);
關(guān)于日期的語句:
第一禎:
time = new Date();y = time.getYear();
moon = time.getMonth();today = time.getDay();
day = time.getDate();year = y + 1900;
moon = moon + 1;if (today == 1){ sun = "";
today = "一";} // end if
if (today == 2){sun = "";today = "二";} // end if
if (today == 3){sun = "";today = "三";} // end if
if (today == 4){sun = "";today = "四";} // end if
if (today == 5){sun = "";today = "五";} // end if
if (today == 6){ sun = "";today = "六";} // end if
if (today == 0){sun = "日";today = "";
}
第二禎:gotoAndPlay(1);
act
第1禎:
d = new Date();
miaozhen._rotation = d.getSeconds()*6+d.getMilliseconds()/160;
fenzhen._rotation = d.getMinutes()*6+d.getSeconds()/10;
shizhen._rotation = d.getHours()*30+d.getMinutes()/2;
time = new Date();
hour = time.getHours();
minute = time.getMinutes();
second = time.getSeconds();
if (minute<10) {
minute = "0"+minute;
}
if (second<10) {
second = "0"+second;
}
timetext = hour+":"+minute+":"+second;
_root.on
weekArray = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
monthArray = new Array("1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月");
timedate = new Date();
};
_root.on
year = timedate.getFullYear();
monthnum = timedate.getMonth();
month = monthArray[monthnum];
week = timedate.getDay();
weekday = weekArray[week];
dweek.text = weekday;
day = timedate.getDate();
hour = timedate.getHours();
minute = timedate.getMinutes();
second = timedate.getSeconds();
dday.text = year+"年"+month+""+day+"日";
delete timedate;
timedate = new Date();
};
第2禎:
gotoAndPlay(1);
如何將自制的時鐘放在桌面
1、進(jìn)入已經(jīng)做好的時鐘的主場景,添加一個圖層,導(dǎo)入一張圖片做為桌面的背景,尺寸可以同你的顯示器分辨率一般大(我的是800*600),將該圖層置于最下層,并鎖定該圖層。
2、其他圖層解鎖,用黑箭頭工具框選整個時鐘,打開“窗口—設(shè)計(jì)面板—變形”面板,約束打勾,縮小時鐘比例(如25%),用鍵盤上的移動鍵將時鐘移到你希望的位置(比如右下角)。
3、打開“文件---發(fā)布設(shè)置”,選擇HTML(.html)格式,系統(tǒng)同時也選中Flash格式,將其他的格式前的勾去掉,選擇右側(cè)保存路徑(一定要記住了).
4、再點(diǎn)選上面格式欄的“HTML”選項(xiàng),進(jìn)入HTML設(shè)置區(qū)。
5、進(jìn)行設(shè)置:尺寸:百分比;寬高:100x100;品質(zhì):高;窗口模式:窗口;HTML對齊:默認(rèn);縮放:(默認(rèn))顯示全部;Flash對齊:居中。
6、點(diǎn) “發(fā)布、確定”。此時保存的時鐘是web格式的。
7、打開活動桌面,調(diào)出web格式的時鐘,點(diǎn)應(yīng)用、確定。如果覺得效果不理想,再按上面的方法調(diào)整,直到滿意時止。
Flash高級實(shí)例:精美時鐘的制作(1)
恭喜大家終于學(xué)習(xí)到這個實(shí)例了,這意味著您的Flash水平已經(jīng)到達(dá)了另一個更高的層次。我們就一起探討一下如何運(yùn)用較復(fù)雜的Actions來制作一個精美的、準(zhǔn)確的、具有整點(diǎn)打鈴和定時鬧鈴的時鐘。首先看看已經(jīng)做好的實(shí)例。
怎么樣?是不是被打動了?那還不快點(diǎn)跟我來:
第一步:基礎(chǔ)對象的制作
1.首先當(dāng)然是新建一個新動畫。
2.創(chuàng)建一個新的圖符并把它命名為clock,用繪畫工具先畫出時鐘的大體輪廓(圖1)。
3.在放有clock的這一層下面添加一層,繪制一個倒影,使其看起來更具有立體感(圖2).然后如圖3一樣放置.
圖3
制作一個按鈕
4.然后制作一個按鈕,命名為dingshiqi(圖4),在把它如圖5放置.
5.接下來是制作刻度.創(chuàng)建一個新圖符,命名為kedu1.以圖符編輯框的中心為中心拉出一條直線(盡量長些),然后打開Transform菜單,以每6度復(fù)制式的旋轉(zhuǎn),再把從橫軸起(包括橫軸)每五根線轉(zhuǎn)變?yōu)榭商畛渚€段并加粗且設(shè)為紅色(如圖6).
6.創(chuàng)建名為kedu的新圖符.把kedu1拖出放在第一層.添加第二層,把如圖7所示的圖像拷貝過來,再按住Ctrl拉出第二個并填充為黑色,然后縮小,又放回原來的圖像中心(圖8).將黑色部分刪除,得到一條白邊.
指針效果
7.把白邊圖形的中心與剛才的刻度杈的中心對和(圖9).把第二層設(shè)為遮罩層,得到的效果如圖10.
8.添加第三層,加入1到12的文本數(shù)字,如圖11.
9.分別制作秒針、分針、時針,命名為zhizhen1、2、3(Instance中的Name分別為miaozhen、fenzhen、shizhen)
導(dǎo)入事先準(zhǔn)備好的三幅圖
導(dǎo)入事先準(zhǔn)備好的三幅圖
10.導(dǎo)入事先準(zhǔn)備好的三幅圖,如圖12放置.
11.加入兩個輸出文本域,分別命名為xingqi和rq(圖13).倒入兩個聲音文件zheng和ding,右擊庫中的zheng,點(diǎn)擊Linkage進(jìn)入Symbol Linkage Properties對話框,點(diǎn)選Export this symbol,然后在entifier中輸入zheng;ding同樣在entifier中輸入ding.
12.創(chuàng)建新的圖符,命名為dingshi1(Instance中的Name為aaa),如圖14.
創(chuàng)建按鈕
13.創(chuàng)建按鈕命名為queding,如圖15.
14.在場景的第一層時所顯示的圖如圖16,在第二層的時候?yàn)閳D17.
Flash高級實(shí)例:精美時鐘的制作(2)
第二步:編輯腳本
1.點(diǎn)擊clock打開Actions面板.輸入:
on
weekArray = new Array('星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六');
monthArray = new Array('1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月');
timedate = new Date();
soundobject = new Sound();
ling = 0;
zheng = 0;
}
on
new Array表示創(chuàng)建新的數(shù)組且按順序排列.
weekArray = new Array表示將new Array數(shù)組的內(nèi)容賦給weekArray.由于系統(tǒng)的時間都是用數(shù)字存儲和輸出,所以我們就來個對號入座.當(dāng)現(xiàn)在是星期日的話,那么系統(tǒng)的值是0,其他的以此類推.這時系統(tǒng)的0就會被這條命令對號入座而反饋為星期日.下一句也類同.
timedate = new Date()表示把新的系統(tǒng)時間存儲在timedate中,這樣一來我們就可以用變量timedate來調(diào)用系統(tǒng)的時間.
soundobject = new Sound();表示聲音型變量.
ling = 0;
zheng = 0;表示聲明標(biāo)志變量,以便下面使用.
2.輸入以下命令:
week = timedate.getDay();
weekday = weekArray[week];
year = timedate.getFullYear();
monthnum = timedate.getMonth();
month = monthArray[monthnum];
day = timedate.getDate();
hour = timedate.getHours();
minute = timedate.getMinutes();
second = timedate.getSeconds();
_root.xingqi = weekday;
_root.rq = year+"年"+month+day+"日";
delete timedate;
timedate = new Date();
on
week = timedate.getDay();
year = timedate.getFullYear();
monthnum = timedate.getMonth();
day = timedate.getDate();
hour = timedate.getHours();
minute = timedate.getMinutes();
second = timedate.getSeconds();這些語句都是把系統(tǒng)的年、月、日等時間取出并存放在不同的變量中.
weekday = weekArray[week];
month = monthArray[monthnum];這兩句表示把系統(tǒng)的星期和月用我們事先設(shè)置的數(shù)組中的字符串來表示,并儲存在weekday和month兩個變量中.
_root.xingqi = weekday;
_root.rq = year+"年"+month+day+"日";表示用名為xingqi和rq的兩個文本域分別顯示兩個時間 .year+"年"+month+day+"日"表示字符串和數(shù)字的相加.
delete timedate;
timedate = new Date();表示刷新系統(tǒng)時間,如果沒有這兩句,時鐘的時間就不會時時改變,而只會顯示 clock載入時的時間.
3.接下來輸入:
soundobject.attachSound("zheng");
soundobject.start( );
zheng = 1;
} else if (minute<>0) {
zheng = 0;
}
if (_root.d2==minute && _root.d1==hour && ling==0) {
soundobject.attachSound("ding");
soundobject.start( );
ling = 1;
} else if (hour<>_root.d1 or minute<>_root.d2) {
ling = 0;
}
}
(minute==0 && zheng==0)和(_root.d2==minute && _root.d1==hour && ling==0)等都表示執(zhí)行的條件.
soundobject.attachSound("zheng");表示邦定名為zheng的聲音(下同).
soundobject.start( );表示播放邦定的聲音(下同).
這兩大段的語句的用意就在于當(dāng)整點(diǎn)時播放zheng的聲音一遍,當(dāng)時與分的值都等于d1和d2的兩個變量的值時播放ding的聲音一遍來鬧鈴.設(shè)置zheng和ling的變量是為了控制聲音的播放次數(shù)為一次.
4.點(diǎn)擊zhizhen1,輸入:
on
miao = _root.clock.second*6;
setProperty ("_root.miaozhen", _rotation, miao);
}
miao = _root.clock.second*6;表示秒針轉(zhuǎn)動的度數(shù)為_root.clock.second*6.
setProperty ("_root.miaozhen", _rotation, miao);表示將miao的值設(shè)置到miaozhen中.
5.點(diǎn)擊zhizhen2,輸入:
fen = _root.clock.minute*6;
setProperty ("_root.fenzhen", _rotation, fen);
}
這些語句與上面的類同.
6.點(diǎn)擊zhizhen3,輸入:
shi = _root.clock.hour*30+_root.clock.minute*0.5;
setProperty ("_root.shizhen", _rotation, shi);
}
7.點(diǎn)擊dingshiqi,輸入:
ifFrameLoaded (1) {
gotoAndPlay (2);
}
}
8.點(diǎn)擊queding,輸入:
on (release) {
d1 = _root.aaa.di1;
d2 = _root.aaa.di2;
gotoAndPlay (1);
}
語句表示當(dāng)按下鼠標(biāo)并放開時,di1和di2中的值被保存到d1和d2中(這樣就可以解決返回時di1和di2的值不能保存的問題),然后跳轉(zhuǎn)到第一幀播放.
9.分別在場景的第一幀和第二幀(任意一層)設(shè)置如下命令:
stop ();
OK!所有的工作都完成了,導(dǎo)出你的時鐘看看吧!