日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

Flash AS3制作火苗動(dòng)畫實(shí)例教程_Flash教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦: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:


  1. /***************Ant QQ:305033389******************/
  2. /*************請(qǐng)支持原創(chuàng),請(qǐng)開源代碼****************/
  3. /**********請(qǐng)讓更多的AS愛好者有資料學(xué)習(xí)*************/
  4. /********本作品是我學(xué)習(xí)作品,并非完善作品***********/
  5. package {
  6. import flash.geom.Matrix;//顏色漸變類庫倒入
  7. import flash.display.Sprite;//Sprite 類是基本顯示列表構(gòu)造塊
  8. import flash.display.GradientType;//Graphics 類包含一組可用來創(chuàng)建矢量形狀的方法
  9. public class mack_fire extends Sprite { //本類為火花原形類
  10. private var fire:Sprite;
  11. var myMatrix:Matrix;
  12. public function mack_fire(){
  13. fire = new Sprite();//初始化一個(gè)影片剪輯
  14. myMatrix = new Matrix();//需要用到的FLASH自帶類,在這里這個(gè)類的作用是制作火花粒子的顏色漸變效果
  15. var boxWidth:int = 16;//火花粒子顏色漸變寬高設(shè)置,下面是高度
  16. var boxHeight:int = 16;
  17. var boxRotation:uint = Math.PI/2;//顏色漸變使用的變量
  18. var tx:int = 0;//影片剪輯的初試坐標(biāo)
  19. var ty:int = 0;
  20. myMatrix.createGradientBox(boxWidth, boxHeight, boxRotation, tx, ty);//下面開始是顏色付值部分,詳細(xì)請(qǐng)查閱createGradientBox的具體用法
  21. var type:String = GradientType.RADIAL;
  22. var myColors:Array = [0xFFFF00, 0xFFFF00];//顏色漸變,白色到白色
  23. var myAlphaS:Array = [1, 0];//透明度從,透明到不透明
  24. var myRalphaS:Array = [0, 255];
  25. var spreadMethod:String = "pad";
  26. var interp:String = "rgb";
  27. var focalPtRatio:Number = 0;
  28. fire.graphics.beginGradientFill(type, myColors,myAlphaS,myRalphaS, myMatrix, spreadMethod, interp, focalPtRatio);//這里請(qǐng)參考手冊(cè)中關(guān)于beginGradientFill來理解
  29. fire.graphics.drawCircle(8, 8, 8);//制作一個(gè)圓形,半徑和中心點(diǎn)坐標(biāo),具體可以參考drawCircle
  30. addChild(fire);
  31. }
  32. }
  33. }
fire.as:

  1. /***************Ant QQ:305033389******************/
  2. /*************請(qǐng)支持原創(chuàng),請(qǐng)開源代碼****************/
  3. /**********請(qǐng)讓更多的AS愛好者有資料學(xué)習(xí)*************/
  4. /********本作品是我學(xué)習(xí)作品,并非完善作品***********/
  5. package {
  6. import flash.display.MovieClip;
  7. import flash.events.EventDispatcher;
  8. import flash.events.Event;
  9. import flash.display.BlendMode;
  10. import flash.filters.GlowFilter;
  11. import flash.geom.ColorTransform;
  12. public class fire extends MovieClip {
  13. private var fires:mack_fire;
  14. private const maxBalls:int = 60;//火花數(shù)量
  15. private const Mc_x:int = stage.stageHeight/2;//起火開始X坐標(biāo)
  16. private const Mc_y:int = stage.stageHeight/2;// stage.stageHeight/4;//起火開始Y坐標(biāo)
  17. private const Mc_more:int = 1;//頂點(diǎn),移動(dòng)和透明度的頂點(diǎn),1為完全不透明或沒有縮放比例,AS3中以1做為頂點(diǎn),AS2中是100
  18. private const McY:int = 1;//向上移動(dòng)速度
  19. private var i=1;//記數(shù)變量

  20. private var obj_scal:Array=new Array();//縮放變量保存數(shù)組
  21. private var obj_fast:Array=new Array();//移動(dòng)速度變量保存數(shù)組
  22. private var obj_action:Array=new Array();//橫向移動(dòng)速度更改變量

  23. private var obj_n:Array=new Array();//橫向移動(dòng)方向控制變量
  24. private var obj_s:Array=new Array();//橫向移動(dòng)速度控制變量
  25. private var obj_gs:Array=new Array();

  26. private var obj_g:Array=new Array();//顏色控制變量

  27. public function fire() {
  28. addEventListener(Event.ENTER_FRAME,fire_mv);
  29. }

  30. public function fire_mv(event:Event):void{
  31. var k = Math.random();//制造隨即數(shù)字,這個(gè)變量決定火花的移動(dòng)距離,已經(jīng)移動(dòng)范圍
  32. var scale:Number = k ? k : 1;//制造一個(gè)隨即數(shù)字,這個(gè)數(shù)字要小于1,大于0
  33. fires = new mack_fire();//新元件創(chuàng)建
  34. fires.scaleX = fires.scaleY = fires.alpha = scale;//元件的縮放以及透明度設(shè)置,根據(jù)上面的隨即數(shù)設(shè)置
  35. obj_g[i] = 100;
  36. obj_gs[i] = (1-scale .2)*3;//定義一個(gè)新的數(shù)組元素,用處在更改元件顏色
  37. obj_fast[i] = Math.floor(scale*2);//縱向移動(dòng)速度主變量
  38. obj_action[i]=(Math.random()>0.5)?1:-1;//縱向移動(dòng) 方向主變量
  39. obj_scal[i] = 1 - obj_fast[i]/10;//對(duì)于進(jìn)行中火花的縮放進(jìn)行控制
  40. obj_n[i] = obj_s[i] = 1;
  41. fires.x= Mc_x;//定義火花產(chǎn)生的橫坐標(biāo)
  42. fires.y= Mc_y;//定義火花產(chǎn)生的縱坐標(biāo)
  43. fires.blendMode = BlendMode.ADD;//這部分是純代碼火花的重點(diǎn),顏色疊加。讓火花和火花之間看起來更圓滑。沒有這個(gè)部分,火的效果根本不成立
  44. fires.name = "fire" i;//定義一個(gè)火花的名字,在下面通過getChildByName來使用。這是笨方法。記得以前有朋友不用定義也可以使用的。
  45. addChild(fires);
  46. for (var n:int = 1; n<maxBalls; n){
  47. var m=getChildByName("fire" n);//使用上面定義的火花影片剪輯
  48. if(m){
  49. var colorInfo:ColorTransform = m.transform.colorTransform;//定義顏色控制器
  50. var xx=obj_gs[n]*2;
  51. obj_g[n] -= Math.ceil(xx);
  52. if(obj_g[n] < 10) obj_g[n]="00";//更改顏色,這部分就是為什么黃色的影片剪輯變成紅色的理由
  53. var rgbs = "0xff" obj_g[n] "00";//轉(zhuǎn)義為字符串,這部分我是用最傻的辦法來做的 ,實(shí)在是不了解AS3。請(qǐng)高手多指導(dǎo)
  54. colorInfo.color = rgbs;
  55. m.transform.colorTransform = colorInfo;
  56. m.y -= 1-obj_s[n] .4;//向上移動(dòng)
  57. m.x = obj_fast[n]*obj_action[n]*obj_n[n]*obj_s[n];//進(jìn)行橫向移動(dòng)
  58. m.scaleX = (obj_scal[n])/20 * obj_n[n] * obj_s[n];//進(jìn)行橫向縮放
  59. m.scaleY = (obj_scal[n])/20 * obj_n[n] * obj_s[n];//進(jìn)行縱向縮放
  60. m.alpha = .1 *obj_n[n]*obj_s[n];//進(jìn)行透明度設(shè)置
  61. if(m.scaleX >= Mc_more){;
  62. obj_n[n] = -1;//橫向反方向移動(dòng)
  63. obj_s[n] = .2;//橫向移動(dòng)速度減緩
  64. };

  65. if(m.alpha >= Mc_more){ m.alpha = Mc_more;}else if(m.alpha <= Math.random()*.1){ removeChildAt(m);}//如果透明度高于或者底于指定數(shù)值,進(jìn)行操作
  66. }
  67. }
  68. if(i>=maxBalls){i=0;}
  69. i;
  70. }
  71. }
  72. }
fire.fla文件為場(chǎng)景文件,只要導(dǎo)入fire.as文件就可以了
具體方法:
在場(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教程/更新時(shí)間:2009-04-02
相關(guān)Flash教程