Flash打造鼠標(biāo)觸發(fā)火焰特效教程
本教程為大家介紹使用Flash CS5制作鼠標(biāo)觸發(fā)的焰火飄落互動(dòng)特效,主要是用計(jì)算鼠標(biāo)跟隨對象來產(chǎn)生具有一定規(guī)律的星火特效。
用鼠標(biāo)在畫面上劃過,即可看到絢麗的互動(dòng)特效
一、 制作焰火飄落特效
(1)新建一個(gè)大小為500×300像素,幀頻為30fps的空白文檔。按Ctrl+R組合鍵導(dǎo)入西湖夜景.jpg”文件,然后設(shè)置其坐標(biāo)為(0,0),如圖1所示,再采用前面的方法在“屬性”面板中添加Main文檔類。
圖1 導(dǎo)入背景
(2)按Ctrl+F8組合鍵新建一個(gè)影片剪輯(名稱為Star_mc),進(jìn)入該影片剪輯的編輯區(qū)域,然后按住Shift+Alt組合鍵的同時(shí)使用“橢圓工具”在該影片剪輯的中心點(diǎn)繪制一個(gè)圓形。
圖2 繪制圓形
技巧與提示:圖形的填充色類型為“放射狀”,第1個(gè)色標(biāo)顏色為(R:255,G:0,B:0),第2個(gè)色標(biāo)顏色為(R:153,G:0,B:0),第3個(gè)色標(biāo)顏色為(R:153,G:0,B:0),Alpha為0%。
(3)新建一個(gè)star圖層,再單擊“工具箱”中的“多角星形工具”按鈕 ,并在“屬性”面板中設(shè)置好該工具的參數(shù),然后按住Shift+Alt組合鍵的同時(shí)在影片剪輯的中心點(diǎn)繪制一個(gè)如圖3所示的星形。
圖3 繪制多角星形
(4)使用“選擇工具”調(diào)整好星形的頂點(diǎn)位置,如圖4所示。
圖4 調(diào)整頂點(diǎn)
(5)選擇調(diào)整好的多角星形,然后原位復(fù)制出一份,按Ctrl+Alt+S組合鍵打開“縮放和旋轉(zhuǎn)”對話框,設(shè)置縮放為40%,再設(shè)置其顏色為白色,如圖5所示。
圖5 拷貝并縮放圖形
(6)返回到“場景1”,按Ctrl+F8組合鍵新建一個(gè)影片剪輯(名稱為Magic_mc),再設(shè)置填充類型為“放射狀”,第1個(gè)色標(biāo)顏色為 (R:255,G:255,B:255), 第2個(gè)色標(biāo)顏色為(R:255,G:255,B:204),第3個(gè)色標(biāo)顏色為(R:255,G:204,B:0),第4個(gè)色標(biāo)顏色為 (R:255,G:102,B:0),第5個(gè)色標(biāo)顏色為(R:153,G:0,B:0),Alpha為0%,然后按住Alt鍵的同時(shí)使用“矩形工具”以該 影片剪輯中心點(diǎn)為起點(diǎn)繪制一個(gè)如圖6所示的矩形。
圖6 繪制矩形
(7)使用“任意變形工具”選擇矩形,然后按Ctrl+T組合鍵打開“變形”面板,設(shè)置旋轉(zhuǎn)為45°,再單擊“重制選區(qū)和變形”按鈕 ,復(fù)制出3份圖形,如圖7所示。
圖7 復(fù)制圖形
(8)復(fù)制出5個(gè)圖形,然后將其調(diào)整成如圖8所示的顏色,再將復(fù)制出的圖形轉(zhuǎn)換為影片剪輯,并將其分別命名為01、02、03、04和05 。
圖8 復(fù)制圖形
(9)將01、02、03、04和05 影片剪輯分別放置在Magic_mc圖層的5個(gè)關(guān)鍵幀上,然后分別為其添加不同的`“發(fā)光”濾鏡,再新建一個(gè)AS圖層,最后在“動(dòng)作-幀”面板中輸入stop():程序,如圖9所示。
圖9 應(yīng)用濾鏡效果
二、 創(chuàng)建元件類 添加控制代碼
(1)采用前面的方法分別為Magic_mc和Star_mc影片剪輯添加元件類,如圖10所示。
圖10 添加元件類
(2)新建一個(gè)ActionScript文件,將其命名為Main,然后將其保存在該實(shí)例的文件夾中,再輸入控制代碼。
* 該類為擴(kuò)展元件類
* @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)生隨機(jī)數(shù)-5到5之間的隨機(jī)數(shù)
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行代碼是為該元件類創(chuàng)建一個(gè)1~5之間的隨機(jī)數(shù),使該影片剪輯元件類在實(shí)例化(被創(chuàng)建時(shí))時(shí)將播放頭移到并停止在指定的時(shí)間幀上。
Math.random()方法產(chǎn)生0~1之間的隨機(jī)數(shù),Math.random()*4方法返回到0~4之間的隨機(jī)數(shù),而 Math.round()方法用于向上或向下舍入為最接近的整數(shù)并返回該值,所以1+Math.round(Math.random()*4)方法取得 1~5之間的隨機(jī)整數(shù)值;gotoAndStop()語句使影片剪輯的播放頭移到并停止在指定的時(shí)間幀上。
通過使用Math.random()-0.5 方法來生成-0.5~0.5之間的隨機(jī)數(shù),然后乘以10得到-5~5之間的隨機(jī)數(shù),再使用Math.round方法進(jìn)行舍入并取得整數(shù),這樣當(dāng)鼠標(biāo)指針由下往上移動(dòng)時(shí),就會(huì)產(chǎn)生星火飄落的效果,如圖11所示。
圖11 星火飄落效果
第30行代碼是為火花加入y軸坐標(biāo)方向上的一個(gè)固定加速度,而第31行代碼則是火花在x軸坐標(biāo)方向上的一個(gè)-5~5之間的隨機(jī)加速度值。
(4)按Ctrl+Enter組合鍵發(fā)布程序。
【Flash打造鼠標(biāo)觸發(fā)火焰特效教程】相關(guān)文章:
黑白鼠標(biāo)簡歷封面04-29
flash的開題報(bào)告范本02-27
鼠標(biāo)藍(lán)色自薦書封面04-17
打造高效課堂心得05-01
上班族鼠標(biāo)手的危害12-06
《輻射4》潛水艇小男孩支線任務(wù)觸發(fā)方法02-21
Win10電腦不用鼠標(biāo)怎么關(guān)機(jī)04-12
打造漂亮英文簡歷04-11
細(xì)節(jié)改變打造完美形象07-21