源文件下載
>>>>>點擊查看動畫效果<<<<<
實例2-4導航條
( 1 )基本思路
① 作幾個標簽,類型為 MC ,上面有文字標識,是嵌套在標簽里的 MC ,鼠標滑過時可以改變字的大小。
② 作一類型為 MC 的光標,給其加動作,可以“彈性”地向某點靠近,彈性這詞,也是網上學的,意思就是移動方式不要一步到位,避免呆板,就是為好看嘛 。
③ 當鼠標滑過某一個標簽,光標就以顏色和寬度變化的形態逐步向這點靠近。
④單擊標簽都有一個鏈接地址被打開,轉向指定的頁面。
⑤設定限制,當鼠標移出范圍后,光標以初始形態停在最后滑過的標簽上。
( 2 )新知識點||// 邏輯或,若干條件,有一條夠格就是真。
&&// 邏輯與,要同時滿足所有的條件才為真。
getURL()// 將來自特定 URL 的文檔加載到窗口中, URL 是 WWW 頁的地址。
(3)實例說明① 主場景中水平排開外觀一致的 MC 類型的標簽,嵌套在標簽里的文字也是 MC ,這里分別是:首頁、二頁、三頁、四頁。
② 用外形和標簽同樣大的 MC作為光標 ,內部有形狀補間,第 1 幀要設定 stop 。
( 4 )編寫動作腳本① 在標簽 MC 上輸入: on (rollOver) {// 鼠標滑過
h = 1;
i = 1;
_root.newx = this._x;// 將這 MC 的坐標 X 的值賦與 _root.newx
}
on (rollOut) { 鼠標滑出
h = 0;
}
onClipEvent (enterFrame) {// 以幀頻頻率執行以下動作
if (h == 1) { 當變量 h 等于 1 ,就是鼠標滑過此 MC 時,執行以下動作
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 { 當變量 h 不等于 1 ,就是鼠標滑出此 MC 時,執行以下動作
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 ");// 得到一個地址 并打開新窗口,這里是第一個標簽的,其它標簽要根椐需要另設。
}
② 在光標 MC 上輸入:
onClipEvent (load) {
root.newx = this._x;// 設一變量取得此 MC 的橫坐標點
}
onClipEvent (enterFrame) {
this._x = this._x+(_root.newx-this._x)/5;// 不斷地將變量 newx 與 MC 的橫坐標值的差的 1/5 加上 MC 的橫坐標值,賦值到新的 MC 的橫坐標值,變量 newx 與 MC 的橫坐標值的差是在趨于 0 的變化中。
if (_root._ymouse>75 || _root._ymouse<25 || _root._xmouse<12 || _root._xmouse>534) { // 滿足其中的任一條件,就執行后面語句,為的是避免在光標變化過程中鼠標移出后有沒展開的狀態.
this._xscale = 100;
}
}
( 5 )要點分析① this._x = this._x+(_root.newx-this._x)/5 ,一個緩沖移動公式,是不斷地將變量 newx 與 MC 的橫坐標值的差的 1/5 加上 MC 的橫坐標值,賦值到新的 MC 的橫坐標值,變量 newx 與 MC 的橫坐標值的差是在趨于 0 的變化中,這樣就可實現逐步靠近目標的效果。應該徹底理解,還可以用具體的數值代入公式中,那樣對分析理解其作用,是比較簡便的方法,熟練掌握后還可以增加抖動率 ( 一個由大逐漸變小直至 0 的的一個變量 ) ,看著有哆了哆嗦的效果,會更好看。
② if (_root._ymouse>75 || _root._ymouse<25 || _root._xmouse<12 || _root._xmouse>534) ,“邏輯或”條件判斷,滿足其中的任一條件,就執行后面語句,這里是為的避免在光標變化過程中鼠標移出后有沒展開的狀態,因為光標在移動過程中有寬度變化。
( 6 )小結本講介紹了復合判斷條件的使用,和使用連接地址的方法,還應用到了移動公式: this._x = this._x+(_root.newx-this._x)/n;, 都是經常要用得到的,需要熟練掌握。
( 7 )課后練習將標簽排列由橫向改為縱向,范例效果:
>>>>>點擊查看動畫效果<<<<<
練習2-4
這篇教程為“Flash AS 實例進階教程”的一部分。查看全套教程>>>>。
新聞熱點
疑難解答