Flash AS3制作火苗動(dòng)畫實(shí)例教程_Flash教程
推薦:FLASH AS3制作任意縮小放大旋轉(zhuǎn)的變形工具FLASH AS3制作任意縮小放大旋轉(zhuǎn)的變形工具
Flash AS3制作火苗動(dòng)畫實(shí)例教程
FLASH AS的作品無非具備兩點(diǎn)就可以.
1.對(duì)AS函數(shù)的了解.
2.肯專研的精神.
FLASH世界里沒有做不到的東西.只有你想不到.你不想做的東西.這次的代碼發(fā)出來.非常希望有更多的朋友去完善.共享精神的目的就是這個(gè).共同進(jìn)步.一個(gè)人的努力只能局限在自己的世界里.當(dāng)把所有人的努力聚集起來的時(shí)候才是FLASH繁榮時(shí)期.這就是為什么多年前的AS程序員各各都強(qiáng)悍的原因.那時(shí)候的FLASH8還是很熱鬧的.
希望這個(gè)帖子能讓更多的朋友發(fā)表自己的看法.我以后要回到FLASH世界,希望更多的朋友能幫我.歡迎FLASH 愛好者加我QQ共同成長(zhǎng)
廢話不說了.拿出東西.
本次程序同入門級(jí)下雪效果一樣,使用了2個(gè)AS文件以及一個(gè)FLA文件,兩個(gè)AS文件分別是mack_fire.as 火花粒子制作文件,fire.as 火花移動(dòng)控制文件,以及fire.fla場(chǎng)景文件.
Flash AS3制作火苗動(dòng)畫實(shí)例教程代碼如下:
mack_fire.as:
- /***************Ant QQ:305033389******************/
- /*************請(qǐng)支持原創(chuàng),請(qǐng)開源代碼****************/
- /**********請(qǐng)讓更多的AS愛好者有資料學(xué)習(xí)*************/
- /********本作品是我學(xué)習(xí)作品,并非完善作品***********/
- package {
- import flash.geom.Matrix;//顏色漸變類庫倒入
- import flash.display.Sprite;//Sprite 類是基本顯示列表構(gòu)造塊
- import flash.display.GradientType;//Graphics 類包含一組可用來創(chuàng)建矢量形狀的方法
- public class mack_fire extends Sprite { //本類為火花原形類
- private var fire:Sprite;
- var myMatrix:Matrix;
- public function mack_fire(){
- fire = new Sprite();//初始化一個(gè)影片剪輯
- myMatrix = new Matrix();//需要用到的FLASH自帶類,在這里這個(gè)類的作用是制作火花粒子的顏色漸變效果
- var boxWidth:int = 16;//火花粒子顏色漸變寬高設(shè)置,下面是高度
- var boxHeight:int = 16;
- var boxRotation:uint = Math.PI/2;//顏色漸變使用的變量
- var tx:int = 0;//影片剪輯的初試坐標(biāo)
- var ty:int = 0;
- myMatrix.createGradientBox(boxWidth, boxHeight, boxRotation, tx, ty);//下面開始是顏色付值部分,詳細(xì)請(qǐng)查閱createGradientBox的具體用法
- var type:String = GradientType.RADIAL;
- var myColors:Array = [0xFFFF00, 0xFFFF00];//顏色漸變,白色到白色
- var myAlphaS:Array = [1, 0];//透明度從,透明到不透明
- var myRalphaS:Array = [0, 255];
- var spreadMethod:String = "pad";
- var interp:String = "rgb";
- var focalPtRatio:Number = 0;
- fire.graphics.beginGradientFill(type, myColors,myAlphaS,myRalphaS, myMatrix, spreadMethod, interp, focalPtRatio);//這里請(qǐng)參考手冊(cè)中關(guān)于beginGradientFill來理解
- fire.graphics.drawCircle(8, 8, 8);//制作一個(gè)圓形,半徑和中心點(diǎn)坐標(biāo),具體可以參考drawCircle
- addChild(fire);
- }
- }
- }
- /***************Ant QQ:305033389******************/
- /*************請(qǐng)支持原創(chuàng),請(qǐng)開源代碼****************/
- /**********請(qǐng)讓更多的AS愛好者有資料學(xué)習(xí)*************/
- /********本作品是我學(xué)習(xí)作品,并非完善作品***********/
- package {
- import flash.display.MovieClip;
- import flash.events.EventDispatcher;
- import flash.events.Event;
- import flash.display.BlendMode;
- import flash.filters.GlowFilter;
- import flash.geom.ColorTransform;
- public class fire extends MovieClip {
- private var fires:mack_fire;
- private const maxBalls:int = 60;//火花數(shù)量
- private const Mc_x:int = stage.stageHeight/2;//起火開始X坐標(biāo)
- private const Mc_y:int = stage.stageHeight/2;// stage.stageHeight/4;//起火開始Y坐標(biāo)
- private const Mc_more:int = 1;//頂點(diǎn),移動(dòng)和透明度的頂點(diǎn),1為完全不透明或沒有縮放比例,AS3中以1做為頂點(diǎn),AS2中是100
- private const McY:int = 1;//向上移動(dòng)速度
- private var i=1;//記數(shù)變量
- private var obj_scal:Array=new Array();//縮放變量保存數(shù)組
- private var obj_fast:Array=new Array();//移動(dòng)速度變量保存數(shù)組
- private var obj_action:Array=new Array();//橫向移動(dòng)速度更改變量
- private var obj_n:Array=new Array();//橫向移動(dòng)方向控制變量
- private var obj_s:Array=new Array();//橫向移動(dòng)速度控制變量
- private var obj_gs:Array=new Array();
- private var obj_g:Array=new Array();//顏色控制變量
- public function fire() {
- addEventListener(Event.ENTER_FRAME,fire_mv);
- }
- public function fire_mv(event:Event):void{
- var k = Math.random();//制造隨即數(shù)字,這個(gè)變量決定火花的移動(dòng)距離,已經(jīng)移動(dòng)范圍
- var scale:Number = k ? k : 1;//制造一個(gè)隨即數(shù)字,這個(gè)數(shù)字要小于1,大于0
- fires = new mack_fire();//新元件創(chuàng)建
- fires.scaleX = fires.scaleY = fires.alpha = scale;//元件的縮放以及透明度設(shè)置,根據(jù)上面的隨即數(shù)設(shè)置
- obj_g[i] = 100;
- obj_gs[i] = (1-scale .2)*3;//定義一個(gè)新的數(shù)組元素,用處在更改元件顏色
- obj_fast[i] = Math.floor(scale*2);//縱向移動(dòng)速度主變量
- obj_action[i]=(Math.random()>0.5)?1:-1;//縱向移動(dòng) 方向主變量
- obj_scal[i] = 1 - obj_fast[i]/10;//對(duì)于進(jìn)行中火花的縮放進(jìn)行控制
- obj_n[i] = obj_s[i] = 1;
- fires.x= Mc_x;//定義火花產(chǎn)生的橫坐標(biāo)
- fires.y= Mc_y;//定義火花產(chǎn)生的縱坐標(biāo)
- fires.blendMode = BlendMode.ADD;//這部分是純代碼火花的重點(diǎn),顏色疊加。讓火花和火花之間看起來更圓滑。沒有這個(gè)部分,火的效果根本不成立
- fires.name = "fire" i;//定義一個(gè)火花的名字,在下面通過getChildByName來使用。這是笨方法。記得以前有朋友不用定義也可以使用的。
- addChild(fires);
- for (var n:int = 1; n<maxBalls; n){
- var m=getChildByName("fire" n);//使用上面定義的火花影片剪輯
- if(m){
- var colorInfo:ColorTransform = m.transform.colorTransform;//定義顏色控制器
- var xx=obj_gs[n]*2;
- obj_g[n] -= Math.ceil(xx);
- if(obj_g[n] < 10) obj_g[n]="00";//更改顏色,這部分就是為什么黃色的影片剪輯變成紅色的理由
- var rgbs = "0xff" obj_g[n] "00";//轉(zhuǎn)義為字符串,這部分我是用最傻的辦法來做的 ,實(shí)在是不了解AS3。請(qǐng)高手多指導(dǎo)
- colorInfo.color = rgbs;
- m.transform.colorTransform = colorInfo;
- m.y -= 1-obj_s[n] .4;//向上移動(dòng)
- m.x = obj_fast[n]*obj_action[n]*obj_n[n]*obj_s[n];//進(jìn)行橫向移動(dòng)
- m.scaleX = (obj_scal[n])/20 * obj_n[n] * obj_s[n];//進(jìn)行橫向縮放
- m.scaleY = (obj_scal[n])/20 * obj_n[n] * obj_s[n];//進(jìn)行縱向縮放
- m.alpha = .1 *obj_n[n]*obj_s[n];//進(jìn)行透明度設(shè)置
- if(m.scaleX >= Mc_more){;
- obj_n[n] = -1;//橫向反方向移動(dòng)
- obj_s[n] = .2;//橫向移動(dòng)速度減緩
- };
- if(m.alpha >= Mc_more){ m.alpha = Mc_more;}else if(m.alpha <= Math.random()*.1){ removeChildAt(m);}//如果透明度高于或者底于指定數(shù)值,進(jìn)行操作
- }
- }
- if(i>=maxBalls){i=0;}
- i;
- }
- }
- }
具體方法:
在場(chǎng)景屬性中,查找文檔類,并輸入fire就可以了
本次效果如下:
上次有朋友說無法運(yùn)行.這次我發(fā)上打包的源文件,但是希望更多的朋友還是自己動(dòng)手制作.
fire源文件:fire.rar
分享:Flash教程:熟練應(yīng)用Flash鋼筆工具鋼筆工具 到這一章為止我們已經(jīng)看到了幾種不同的繪圖風(fēng)格.從基本的形狀組成更大,更復(fù)雜的形狀,到使用位圖材質(zhì)填充,大部分時(shí)間需要組合工具和技巧來完成,對(duì)于這個(gè)角色我想從一個(gè)鉛筆素描草圖到用鋼筆工具和基本形狀繪制的矢量圖.鋼筆工具配合選擇工具,使筆
Flash教程Rss訂閱網(wǎng)站制作教程搜索
Flash教程推薦
- Flash教程 鏡面效果
- Flash入門教程:滾動(dòng)字幕動(dòng)畫的制作(1)
- Flash制作動(dòng)漫中常用的眨眼效果動(dòng)畫
- 減輕Flash影片中圖片鋸齒抖動(dòng)現(xiàn)象
- Flash游戲制作:簡(jiǎn)單射擊游戲教程(Fla源文件)
- Flash制作漂亮流動(dòng)的圖片效果
- 精彩Flash欣賞[三.八節(jié)]自己作主
- Flash關(guān)于游戲制作研究之在場(chǎng)景中移動(dòng)(一)
- flash與數(shù)據(jù)庫的連接
- 符合web標(biāo)準(zhǔn)的flash調(diào)用方法,解決了瀏覽器對(duì)flash的影響
- 相關(guān)鏈接:
- 教程說明:
Flash教程-Flash AS3制作火苗動(dòng)畫實(shí)例教程
。