源文件下載
>點擊查看動畫效果<實例2-7遮罩
基本思路
① 以一個矩形做遮罩,面積由線到面慢慢展開,被遮罩的圖形即逐漸顯現。
②同樣的圖形,以變形設置令長度擴大到 2 倍,再讓這圖形與上面的遮罩作反方向的運動,形成一個長圖逐漸壓縮成標準狀態的變化效果。
實例說明
my_mc.setMask(mask_mc)// 括號內是用作遮罩的 MC ,前面的是被遮罩的 MC
my_mc.swapDepths(depth)// depth 一個數字,指定 my_mc 將被放置的深度級別。
用 %(模)控制 _width 或 _height 的變化。 編寫動作腳本
①在第 1 幀上輸入:
with (zhezhao) {// 為 MC “ zhezhao ”的屬性設初始值
_width = tu._width;
_height = 0;
_x = Stage.width/2;//置場景水平中心。
_y = Stage.height;//抵場景底端。
}
tu.setMask(zhezhao);// 用 MC “ zhezhao ”為 MC “ tu ”設遮罩
tu.swapDepths(100);// 將 MC “ tu ”的深度層改為 100
duplicateMovieClip(tu, "tu1", 10);// 用 MC “ tu ”復制出 MC “ tu 1 ”
tu1._height = tu._height*2;// 設置 MC “ tu 1 ” 的高度為 MC “ tu ”的 2 倍
tu1._y = 0;// MC “ tu 1 ” 垂直定位
② 在 MC “ zhezhao ”上輸入:
onClipEvent (load) {
i = 0;// 變量初始化
}
onClipEvent (enterFrame) {
this._height = i%400;// 取模的值設為此 MC 的高
_root.tu1._y = i%400; // 取模的值設為主場景上 MC “ tu 1 ” 的垂直坐標點
i += 10;
}
要點分析 ①腳本里的遮罩和圖層上的遮罩有一點區別,是一個 MC 遮罩另外一個 MC ,而圖層遮罩可以是一個圖層同時遮罩幾個圖層。
②一個遮罩組合里作遮罩的 MC 和被遮罩的 MC 的深度層可不區分上下,這和圖層遮罩也不同,圖層遮罩里遮罩層必須在被遮罩層之上。
③各個遮罩組合里的被遮罩的 MC 的深度層是要明確上下關系的,級別高的在級別低的之上,這點過去我們已經學習過,這里需再強調。
④這實例只是兩個對象有動作,在前面講的兩個遮罩組合里,一個是上面遮罩組合里的 MC “ zhezhao ”,和下面組合里的 MC “ tu 1 ” , 它們必須同比例變化,才保證有上下吻合的效果。
小結
本講學習的目的就是在動作腳本里使用遮罩,在 Flash 的基本應用中遮罩很重要,而 用腳本實現某些效果,同樣也時常要應用到遮罩,而且有更豐富多彩的表現,所以應該熟練掌握。
實例中沒對“tu1"作遮罩處理,在全屏顯示時場景外的圖會被顯示出來,若需處理,請看
參考實例源文件。
課后練習
作一橫向變化效果的,若喜歡鉆研的朋友可作有一定傾斜角度的,范例效果:
>點擊查看動畫效果<
>點擊查看動畫效果<練習2-7
查看全套"Flash AS 實例進階教程"