Flash AS 實例進階 導(dǎo)航條實現(xiàn)方法

實例2-4導(dǎo)航條
( 1 )基本思路
① 作幾個標(biāo)簽,類型為 MC ,上面有文字標(biāo)識,是嵌套在標(biāo)簽里的 MC ,鼠標(biāo)滑過時可以改變字的大小。
② 作一類型為 MC 的光標(biāo),給其加動作,可以“彈性”地向某點靠近,彈性這詞,也是網(wǎng)上學(xué)的,意思就是移動方式不要一步到位,避免呆板,就是為好看嘛 。
③ 當(dāng)鼠標(biāo)滑過某一個標(biāo)簽,光標(biāo)就以顏色和寬度變化的形態(tài)逐步向這點靠近。
④單擊標(biāo)簽都有一個鏈接地址被打開,轉(zhuǎn)向指定的頁面。
⑤設(shè)定限制,當(dāng)鼠標(biāo)移出范圍后,光標(biāo)以初始形態(tài)停在最后滑過的標(biāo)簽上。
?。?2 )新知識點||// 邏輯或,若干條件,有一條夠格就是真。
&&// 邏輯與,要同時滿足所有的條件才為真。
getURL()// 將來自特定 URL 的文檔加載到窗口中, URL 是 WWW 頁的地址。
?。ǎ常嵗f明① 主場景中水平排開外觀一致的 MC 類型的標(biāo)簽,嵌套在標(biāo)簽里的文字也是 MC ,這里分別是:首頁、二頁、三頁、四頁。
② 用外形和標(biāo)簽同樣大的 MC作為光標(biāo) ,內(nèi)部有形狀補間,第 1 幀要設(shè)定 stop 。
?。?4 )編寫動作腳本?、?在標(biāo)簽 MC 上輸入: on (rollOver) {// 鼠標(biāo)滑過
h = 1;
i = 1;
_root.newx = this._x;// 將這 MC 的坐標(biāo) X 的值賦與 _root.newx
}
on (rollOut) { 鼠標(biāo)滑出
h = 0;
}
onClipEvent (enterFrame) {// 以幀頻頻率執(zhí)行以下動作
if (h == 1) { 當(dāng)變量 h 等于 1 ,就是鼠標(biāo)滑過此 MC 時,執(zhí)行以下動作
if (i>0 && i<21) {i 同時滿足大于 0 ,小于 21 的條件
this.z._xscale = 100+i*1.8;// 嵌套在此 MC 里的 “z” 水平比例增加 i*1.8
this.z._yscale = 100+i*1.8; // 嵌套在此 MC 里的 “z” 垂直比例增加 i*1.8
_root.mc._xscale = 100-i*10;// 主場景的 “mc” 水平比例減少 i*10
_root.mc.play();
i++;
}
} else { 當(dāng)變量 h 不等于 1 ,就是鼠標(biāo)滑出此 MC 時,執(zhí)行以下動作
if (i>1 && i<22) {
this.z._xscale = 100+i*1.8; // 嵌套在此 MC 里的 “z” 水平比例減少 i*1.8
this.z._yscale = 100+i*1.8; // 嵌套在此 MC 里的 “z” 垂直比例減少 i*1.8
i--;
}
}
}
on (press) {
getURL("http://bbs.flasher123.com/", "_blank ");// 得到一個地址 并打開新窗口,這里是第一個標(biāo)簽的,其它標(biāo)簽要根椐需要另設(shè)。
}
② 在光標(biāo) MC 上輸入:
onClipEvent (load) {
root.newx = this._x;// 設(shè)一變量取得此 MC 的橫坐標(biāo)點
}
onClipEvent (enterFrame) {
this._x = this._x+(_root.newx-this._x)/5;// 不斷地將變量 newx 與 MC 的橫坐標(biāo)值的差的 1/5 加上 MC 的橫坐標(biāo)值,賦值到新的 MC 的橫坐標(biāo)值,變量 newx 與 MC 的橫坐標(biāo)值的差是在趨于 0 的變化中。
if (_root._ymouse>75 || _root._ymouse<25 || _root._xmouse<12 || _root._xmouse>534) { // 滿足其中的任一條件,就執(zhí)行后面語句,為的是避免在光標(biāo)變化過程中鼠標(biāo)移出后有沒展開的狀態(tài).
this._xscale = 100;
}
}
( 5 )要點分析① this._x = this._x+(_root.newx-this._x)/5 ,一個緩沖移動公式,是不斷地將變量 newx 與 MC 的橫坐標(biāo)值的差的 1/5 加上 MC 的橫坐標(biāo)值,賦值到新的 MC 的橫坐標(biāo)值,變量 newx 與 MC 的橫坐標(biāo)值的差是在趨于 0 的變化中,這樣就可實現(xiàn)逐步靠近目標(biāo)的效果。應(yīng)該徹底理解,還可以用具體的數(shù)值代入公式中,那樣對分析理解其作用,是比較簡便的方法,熟練掌握后還可以增加抖動率 ( 一個由大逐漸變小直至 0 的的一個變量 ) ,看著有哆了哆嗦的效果,會更好看。
② if (_root._ymouse>75 || _root._ymouse<25 || _root._xmouse<12 || _root._xmouse>534) ,“邏輯或”條件判斷,滿足其中的任一條件,就執(zhí)行后面語句,這里是為的避免在光標(biāo)變化過程中鼠標(biāo)移出后有沒展開的狀態(tài),因為光標(biāo)在移動過程中有寬度變化。
?。?6 )小結(jié)本講介紹了復(fù)合判斷條件的使用,和使用連接地址的方法,還應(yīng)用到了移動公式: this._x = this._x+(_root.newx-this._x)/n;, 都是經(jīng)常要用得到的,需要熟練掌握。
?。?7 )課后練習(xí)將標(biāo)簽排列由橫向改為縱向,范例效果:
練習(xí)2-4
這篇教程為“Flash AS 實例進階教程”的一部分。查看全套教程>>>>。
相關(guān)文章
flash cs6鼠標(biāo)跟隨效果實現(xiàn)代碼分享
flash cs6想要實現(xiàn)鼠標(biāo)跟隨效果?該怎么制作呢?今天我們就來看看使用as2.0實現(xiàn)鼠標(biāo)跟隨效果的教程,需要的朋友可以參考下2019-05-19- Flash cs6怎么使用代碼輸入中英文文本?Flash cs6中可以使用文字工具直接輸入文本,也可以使用代碼來輸入文本,該怎么使用代碼輸入文本呢?請看下文詳細的教程,需要的朋友2018-03-11
- flash as3.0抽象類怎么定義? as3.0中有很多抽象類,該怎么定義抽象類和抽象方法呢?下面我們就來看看簡單的例子,需要的朋友可以參考下http://chabaoo.cn/softs/408402.2018-02-28
flash cs6中怎么使用ActionScript3.0?
flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,該怎么使用呢?下面我們就來看看詳細的教程,需要的朋友可以參考下2018-01-25Flash中怎么實現(xiàn)鼠標(biāo)點擊決定圖像位置?
本教程給大家分享一個Flash小教程,教大家在Flash CS6中怎么實現(xiàn)鼠標(biāo)點擊決定圖像位置?方法很簡單,感興趣的朋友歡迎前來一起分享學(xué)習(xí)2018-01-12- 本教程教腳本之家的ActionScript教程學(xué)習(xí)者在Flash中如何用代碼將圖片放在自己想要的舞臺位置,教程講解的詳細,感興趣的朋友歡迎前來分享學(xué)習(xí)2017-11-20
在Flash CS6中使用with函數(shù)繪制背景圖教程
本教程教腳本之家的ActionScript教程學(xué)習(xí)者如何在Flash CS6中使用with函數(shù)繪制背景圖?教程一步步講解的挺詳細,方法也不難,非常適合Flash新手入門學(xué)習(xí)2017-11-18Flash怎么設(shè)置元件坐標(biāo)?flash使用代碼設(shè)置元件的坐標(biāo)的教程
Flash怎么設(shè)置元件坐標(biāo)?flash中導(dǎo)如的元件需要添加坐標(biāo),該怎么定位元件坐標(biāo)呢?下面我們就來看看flash使用代碼設(shè)置元件的坐標(biāo)的教程,需要的朋友可以參考下2017-10-11- Flash怎么制作來回搖擺的花朵的動畫?Flash中想要給花朵制作一段搖擺的動畫效果,該怎么制作呢?下面我們就來看看詳細的教程,很簡單,需要的朋友可以參考下2017-05-23
- Flash怎么制作流動七彩色的文字?想要讓文字動起來,該怎么使用flash給文字制作一個流動七彩色的動畫呢?下面我們就來看看詳細的教程,需要的朋友可以參考下2017-04-23