當我們浏覽網頁時,我們經常能看到各種各樣的有圖片滾動的菜單、橫幅及廣告,盡管效果基本相同,但因為編寫者的思路各異,所以腳本的繁易差異也很大,這裡介紹的是一個腳本非常簡單的實例。
基本思路
① 在 MC 的中心點的左右兩側,同時擺放相同的一組圖片,中心點也是首尾相接處
② 測得鼠標和場景水平中心點的距離 ,判斷 MC 向左或右及以怎樣速度運動。
③ 當 MC 左端抵場景左端或 MC 右端抵場景右端時,令 MC 回到一定位置,實現持續循環滾動
新知識點
Stage.width// 場景的寬度,是隨意老師教我的,我找半天都沒找到。
Stage.height// 場景的高度,練習要用到。
MovieClip._width//MC 的寬度。
MovieClip._height // MC 的高度。
實例說明
①在 MC 注冊點的左右都擺放同一組圖片,在 主場景中若 MC 運動到邊端時刻,即由中心點替代,播放影片時看圖片是一致的,但又不是盡頭,會形成循環播放的效果。
② 取得場景和 MC 的寬度,以進行計算比較,用鼠標偏離場景水平中線的距離作 MC 移動的參數,當鼠標正在此線,數值為 0 , MC 靜止不動,距離大運動速度則快。
③ 設 2 個條件判斷,是在 MC 運動到邊端時,重新定位。
編寫動作腳本
① 在第 1 幀上輸入:
m=Stage.width;// 取得場景的寬度
n=tu._width/2;// 取得 MC 的寬度的 1/2 的值
tu._x = tu._x-(m/2-_xmouse)/10;// 將鼠標與水平中心線的差值的 1/10 加到 MC 的位置上,再賦值到新的 MC 位置。
② 在第 2 幀上輸入:
if (tu._x>=n) {//MC 左端抵場景左端時
tu._x = tu._x-n;//MC 重新定位到自身中心點在場景左端
}
if (tu._x<=(m-n)) {//MC 右端抵場景右端時
tu._x = tu._x+n; //MC 重新定位到自身中心點在場景右端
}