用鼠標在畫(huà)面上劃過(guò),即可看到絢麗的互動(dòng)特效

一、 制作焰火飄落特效
(1)新建一個(gè)大小為500×300像素,幀頻為30fps的空白文檔。按Ctrl+R組合鍵導入西湖夜景.jpg”文件,然后設置其坐標為(0,0),如圖1所示,再采用前面的方法在“屬性”面板中添加Main文檔類(lèi)。

圖1 導入背景
(2)按Ctrl+F8組合鍵新建一個(gè)影片剪輯(名稱(chēng)為Star_mc),進(jìn)入該影片剪輯的編輯區域,然后按住Shift+Alt組合鍵的同時(shí)使用“橢圓工具”在該影片剪輯的中心點(diǎn)繪制一個(gè)圓形。

圖2 繪制圓形
技巧與提示:圖形的填充色類(lèi)型為“放射狀”,第1個(gè)色標顏色為(R:255,G:0,B:0),第2個(gè)色標顏色為(R:153,G:0,B:0),第3個(gè)色標顏色為(R:153,G:0,B:0),Alpha為0%。
(3)新建一個(gè)star圖層,再單擊“工具箱”中的“多角星形工具”按鈕 ,并在“屬性”面板中設置好該工具的參數,然后按住Shift+Alt組合鍵的同時(shí)在影片剪輯的中心點(diǎn)繪制一個(gè)如圖3所示的星形。

圖3 繪制多角星形
(4)使用“選擇工具”調整好星形的頂點(diǎn)位置,如圖4所示。

圖4 調整頂點(diǎn)
(5)選擇調整好的多角星形,然后原位復制出一份,按Ctrl+Alt+S組合鍵打開(kāi)“縮放和旋轉”對話(huà)框,設置縮放為40%,再設置其顏色為白色,如圖5所示。

圖5 拷貝并縮放圖形
(6)返回到“場(chǎng)景1”,按Ctrl+F8組合鍵新建一個(gè)影片剪輯(名稱(chēng)為Magic_mc),再設置填充類(lèi)型為“放射狀”,第1個(gè)色標顏色為 (R:255,G:255,B:255), 第2個(gè)色標顏色為(R:255,G:255,B:204),第3個(gè)色標顏色為(R:255,G:204,B:0),第4個(gè)色標顏色為 (R:255,G:102,B:0),第5個(gè)色標顏色為(R:153,G:0,B:0),Alpha為0%,然后按住Alt鍵的同時(shí)使用“矩形工具”以該 影片剪輯中心點(diǎn)為起點(diǎn)繪制一個(gè)如圖6所示的矩形。

圖6 繪制矩形
(7)使用“任意變形工具”選擇矩形,然后按Ctrl+T組合鍵打開(kāi)“變形”面板,設置旋轉為45°,再單擊“重制選區和變形”按鈕 ,復制出3份圖形,如圖7所示。

圖7 復制圖形
(8)復制出5個(gè)圖形,然后將其調整成如圖8所示的顏色,再將復制出的圖形轉換為影片剪輯,并將其分別命名為01、02、03、04和05 。

圖8 復制圖形
(9)將01、02、03、04和05 影片剪輯分別放置在Magic_mc圖層的5個(gè)關(guān)鍵幀上,然后分別為其添加不同的“發(fā)光”濾鏡,再新建一個(gè)AS圖層,最后在“動(dòng)作-幀”面板中輸入stop():程序,如圖9所示。

圖9 應用濾鏡效果
二、 創(chuàng )建元件類(lèi) 添加控制代碼
(1)采用前面的方法分別為Magic_mc和Star_mc影片剪輯添加元件類(lèi),如圖10所示。

圖10 添加元件類(lèi)
(2)新建一個(gè)ActionScript文件,將其命名為Main,然后將其保存在該實(shí)例的文件夾中,再輸入控制代碼。
* 該類(lèi)為擴展元件類(lèi)
* @author lbynet
* @version 0.1
*/
package {
import flash.display.MovieClip;
import flash.events.Event;
public class Magic_mc extends MovieClip {
private var dis:Number;
public function Magic_mc() {
init();
}
private function init() {
var Random = 1 + Math.round(Math.random()*4);
this.gotoAndStop(Random);
this.scaleX = this.scaleY = Math.random();
//產(chǎn)生隨機數-5到5之間的隨機數
dis = Math.round((Math.random()-.5)*10);
this.addEventListener(Event.ENTER_FRAME,enterFrameHandler);
}
private function enterFrameHandler(event:Event) {
this.y += 5;
this.x += dis;
this.scaleX -=.005;
this.scaleY -=.005;
}
}
}
技巧與提示:
第19和20行代碼是為該元件類(lèi)創(chuàng )建一個(gè)1~5之間的隨機數,使該影片剪輯元件類(lèi)在實(shí)例化(被創(chuàng )建時(shí))時(shí)將播放頭移到并停止在指定的時(shí)間幀上。
Math.random()方法產(chǎn)生0~1之間的隨機數,Math.random()*4方法返回到0~4之間的隨機數,而 Math.round()方法用于向上或向下舍入為最接近的整數并返回該值,所以1+Math.round(Math.random()*4)方法取得 1~5之間的隨機整數值;gotoAndStop()語(yǔ)句使影片剪輯的播放頭移到并停止在指定的時(shí)間幀上。
通過(guò)使用Math.random()-0.5 方法來(lái)生成-0.5~0.5之間的隨機數,然后乘以10得到-5~5之間的隨機數,再使用Math.round方法進(jìn)行舍入并取得整數,這樣當鼠標指針由下往上移動(dòng)時(shí),就會(huì )產(chǎn)生星火飄落的效果,如圖11所示。

圖11 星火飄落效果
第30行代碼是為火花加入y軸坐標方向上的一個(gè)固定加速度,而第31行代碼則是火花在x軸坐標方向上的一個(gè)-5~5之間的隨機加速度值。
(4)按Ctrl+Enter組合鍵發(fā)布程序。
聯(lián)系客服