全Flash動畫網(wǎng)站的實現(xiàn)詳細(xì)教程
互聯(lián)網(wǎng) 發(fā)布時間:2008-10-06 01:13:20 作者:佚名
我要評論
本人是設(shè)計出身,對語言根本不在行,但是做flash 站沒有一點as基礎(chǔ),什么效果也出不來,經(jīng)過一段時間的摸索,和若干業(yè)務(wù)的鍛煉,現(xiàn)在積累了一點經(jīng)驗,不敢獨享,把這些真正由實戰(zhàn)中得來的東西送給和我一樣對程序不在行設(shè)計師以及新手朋友,老鳥們請飄過
三:有關(guān)于按鈕
其實flash 站80%的功能都是基于鼠標(biāo)事件來完成的,所以按鈕在網(wǎng)站中的地位不言而喻,在我理解一個flash全站無非就是通過一些按鈕的導(dǎo)向來播放不同位置的mc。
按鈕有兩種方式可以實現(xiàn)。一種是按鈕元件,一種是影片剪輯元件,這兩個原件中。按鈕只有4幀,而影片剪輯沒有限制,所以如果需要一個有動畫效果的按鈕的時候,我們就只能用影片剪輯也就是mc來實現(xiàn)。事實上,我認(rèn)為,mc在大部分時間里都可以替代按鈕,通過腳本控制mc來實現(xiàn)按鈕的功能要比按鈕靈活的多。
這是一個最通常的動畫按鈕的內(nèi)部結(jié)構(gòu)

新手提示:這里需要提示的是關(guān)于幀標(biāo)簽的概念:上圖中時間軸里標(biāo)注的s1與s2是幀標(biāo)簽,在幀的屬性欄里可以輸入,使用了幀標(biāo)簽可以用gotoAndPlay等等語句來播放該真標(biāo)簽所開始的位置,過了該幀標(biāo)簽的范圍后,不會停止哦~~。用幀標(biāo)簽的好處是你無需理會關(guān)鍵楨的數(shù)值,在任何地方播放這段動畫,都可以含義明了的操作,并且容易解讀和記憶。
在這個按鈕mc所在的幀上(上圖的外層)寫上如下腳本,這個按鈕就生效了
[Copy to clipboard] [ - ] CODE: btn1.onRollOver=function(){btn1.gotoAndPlay"s1"};
btn1.onRollOut=function(){btn1.gotoAndPlay"s2"};
btn1.onRelease=function(){};
可以看出在用腳本對btn1按鈕添加了onRollOver,onRollOut,onRelease事件后,也就是經(jīng)過,離開,點擊,這個mc就擁有了一個按鈕的3種狀態(tài),至于點擊并不松手這種狀態(tài),通常并不常用,所以就沒有添加,如果需要的話,那么只需要在對應(yīng)的幀上寫onPress事件就可以了
需要注意的是:利用這樣的寫法來實現(xiàn)的按鈕,時間軸不能過長,也就是說,動作效果不能動畫太長,如果時間很長的話,當(dāng)你的鼠標(biāo)劃過的時候,這個按鈕會執(zhí)行s2部分,而這么長的動畫,你并不是想要播放的,這個按鈕已經(jīng)可以說是一段用鼠標(biāo)事件激活的動畫了,不該用鼠標(biāo)經(jīng)過這樣的事件來激活。
在全站中經(jīng)常有這樣的情況,即是很多按鈕都要實現(xiàn)類似或者同一種類的功能,那么一一寫onRollOver等等就太煩瑣了。

這時候我們就需要用循環(huán)的功能了,最開始,如果你看不懂,那么你并不需要去深究到底是怎么寫法,粘貼過去,然后去改你需要改的部分吧。

這里有5個按鈕,按鈕的名字是pm1,pm2---pm5,當(dāng)鼠標(biāo)經(jīng)過這些mc的時候,如果經(jīng)過的不是已經(jīng)點過的mc的話,就播放這個mc的“s1”部分,鼠標(biāo)離開的時候,滿足同樣條件就播放“s2”部分,點擊這個mc的話,上一個被點的mc播放"s2"部分(通常也就是回到初始的狀態(tài)),
[Copy to clipboard] [ - ] CODE: stop();
function rollover() {
if (_root.a != this.indexNum) {
this.gotoAndPlay("s1");
}
}
function rollout() {
if (_root.a != this.indexNum) {
this.gotoAndPlay("s2");
}
}
function release() {
this._parent["pm" _root.a].gotoAndPlay("s2");//上一個被點的按鈕執(zhí)行播放s2
_root.a = this.indexNum;
//上面的代碼順序不能錯。代碼執(zhí)行也是有順序的,
//點擊后需要做的事情寫在這里。
}
for (var i:Number = 1; i<6; i ) {
this["pm" i].onRollOver = rollover;
this["pm" i].onRollOut = rollout;
this["pm" i].onRelease = release;
this["pm" i].indexNum = i;
}
這段代碼很簡單,是as比較基礎(chǔ)的語句,關(guān)于for,以及if語句的用法,請自己在網(wǎng)上找,有的是。其實,做flash 站,最常用的語句就是這兩個,應(yīng)該理解透。新手朋友需要注意的是
if后面的條件要用==來判斷,如果只寫一個=,那么這個條件就永遠(yuǎn)都成立,因為=是賦值的意思,而==才是判斷,
這里的for (var i:Number = 1; i<6; i ) 部分,如果你有5個按鈕那么i<6,如果6個就i<7
需要非常重視的是這個東西_root.a,這是一個變量,我叫這個東西為“標(biāo)志位”,當(dāng)然也可以叫做_root.abcde,在這里利用這個_root.a=來記錄當(dāng)前鼠標(biāo)事件的對象,當(dāng)點了btn1的時候,這個_root.a=1,_root在as里是頂級的位置,我們寫_root.a=1就是表明在主時間軸建立一個變量值為1,之所以用頂級位置,就是因為調(diào)用起來簡單,方便,在任何地方都可以用,這里涉及到路徑和層級的知識,稍后說明。。。。??傊谖覀冃枰涗浺粋€數(shù)據(jù),比如頁數(shù),比如按鈕序號,等等的時候,這個“標(biāo)志位”使用起來是很方便的。在下面我們還會用到。
另外一個推薦熟悉的部分是movieClipTween這個功能擴展,這個類,或者這個方法,簡單的說就是用腳本而不是 用時間軸來安排動畫,在很多時候,我們?nèi)绻媚_本的方式來實現(xiàn)一些mc的交互會更加方便,同時更加靈活,這樣做的好處是,比如你需要一些按鈕,你并不需要為每一個按鈕安排時間軸和建立關(guān)鍵楨,所有動作都用腳本生成。而且很直觀,我不是很會形容這個的好處,但是相信沒有用過的朋友們一定會習(xí)慣并且喜歡這種動畫創(chuàng)作方式。下圖為例:

具體的腳本如上所示。
需要知道的是,這個擴展的功能并非flash安裝后自帶的,你需要下載這個后綴名為mxp的擴展包,安裝需要有extention manager這是adobe公司的免費軟件,如果你安裝了dw9就同時安裝了。。安裝之后,參數(shù)的使用方法非常簡單,在flash的幫助文檔里會添加出相關(guān)的項目,雖然是英文的,但是也非常易懂。
相關(guān)文章

flash如何制作形狀補間動畫?flash創(chuàng)建補間形狀技巧
flash一款功能強大的動畫制作軟件,制作動畫很非常的方便,但動畫過程使用的都是形狀補間功能。今天小編就來給大家介紹一下flash形狀補間動畫制作方法,感興趣的快來看看吧2022-05-11
flash cs6怎么做花朵成長的逐幀動畫?flash中想要繪制一個花開的動畫,該怎么畫出各個圖形然后做逐幀動畫呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下2021-03-09
Flash怎么將動畫復(fù)制為ActionScript3.0并使用?
Flash怎么將動畫復(fù)制為ActionScript3.0并使用?Flash中制作的動畫想要直接粘貼到另一個對象中,我們可以使用復(fù)制腳本代碼的方式復(fù)制動畫,下面我們就來看看詳細(xì)的教程,需2017-12-08
flash怎么制作漫畫人物行走的動畫?flash中想要制作一段行走的動畫,該怎么設(shè)計呢?下面我們就來看看詳細(xì)的教程,很簡單,需要的朋友可以參考下2017-04-18- 這篇教程是向腳本之家的朋友分享flash逐幀動畫制作全過程,教程非?;A(chǔ),很適合新手來學(xué)習(xí),推薦過來,有興趣的朋友可以過來學(xué)習(xí)2016-01-15
- 下面小編就為大家介紹利用Flash正確的口型吻合動畫技巧,教程很不錯,非常適合新手來學(xué)習(xí),推薦到腳本之家,喜歡的朋友一起來學(xué)習(xí)吧2015-01-15
- 這篇教程是向腳本之家的朋友介紹Flash動畫制作技巧:圖形元件相關(guān)知識,教程很基礎(chǔ),但很實用,推薦到腳本之家,喜歡的朋友可以過來學(xué)習(xí)一下,希望能對大家有所幫助2015-01-05
Flash動畫制作小黑人經(jīng)典動畫效果技巧介紹(圖文)
本教程是向大家介紹Flash動畫制作小黑人經(jīng)典動畫效果技巧,教程很經(jīng)典,介紹的非常詳細(xì),相信對學(xué)習(xí)Flash朋友有一定的幫助。轉(zhuǎn)發(fā)過來,希望對大家有所幫助2014-08-05- 本教程是向大家介紹利用Flash制作旋轉(zhuǎn)的3D立體盒動畫教程,制作出來的效果非常好看,教程介紹的很詳細(xì),希望大家通過本篇教程能學(xué)習(xí)Flash制作3D動畫的方法,這樣以后就可以2014-07-22
- 本教程向大家介紹了Flash cs3制作人物行走動畫技巧,并做了詳細(xì)的介紹,覺得教程很不錯,轉(zhuǎn)發(fā)過來,希望給朋友們帶來幫助2014-07-15




