文章出處

點擊這里返回Flash教程欄目。  知識點:
  a、漸變色,形變動畫的應用。
  b、元件的as標識符。
  c、attachMovie的應用。
  d、movieClip的各項屬性的使用。
  e、濾鏡的應用。

點擊開新窗口欣賞該FLASH動畫![全屏欣賞]

<  應用分析:
  本題最初是幫助朋友做一個視覺效果,做一朵花開放的效果出來。分析一下,花是由一片片花瓣組成,做完每一片花瓣的伸展動畫,然后復制若干個這個動畫,讓其環繞一圈播放,那么就可以形成一層花瓣綻放的效果,然后做多層這種效果,最終就可以形成一朵花的效果。注意必須使用flash8.0以上的播放器。

  那么問題很簡單,首先要做花瓣。

  建立一個空MC,命名為"huanban01",用鋼筆工具畫一個花瓣,注意花瓣的輪廓要使用綠線,而花瓣內要使用中心漸變色填充。花瓣的大小控制在長度100象素左右。注意該花瓣元件的定義點中心應該在花瓣的根部。(這是為了將來復制的時候,花瓣可以根部為中心進行環繞)參見圖pic01.jpg:
  


  在1-30幀之間,做一個花瓣伸展的動畫,其實就是在第1幀把花瓣縮小,然后用形變動畫讓其放大。參見圖pic02.jpg:



  在30-160幀之間,做一個花瓣輕微舞動的效果,也很簡單,只是讓花瓣的外形稍微有一點變化即可。你也可以做的長一些,比如30-400幀之間,多做幾個關鍵幀。在最后一幀上加上as:

  gotoAndPlay(30);
  這樣,花瓣在輕微舞動之后會跳回到30幀繼續舞動,這樣一個花瓣便完成了,你可以把這個元件拖到場景中,觀看一下播放效果。


  每個花瓣的形狀不可能一樣,因此,我們有必要多做幾個花瓣,你可以重復上述步驟,做出"huanban02","huanban03",讓它們的外形和"huanban01"有所區別,輕微舞動的頻率也有所區別。

  接下來一步,我們需要把元件庫里的這幾個花瓣加上標識符,以便將來調用。元件庫里鼠標右鍵點元件"huanban01",在菜單里選擇"鏈接...”,彈出對話框,勾選“為actionscript導出”,“在第一幀導出”,然后在標識符一欄里寫上"huanban01",點確定。參見圖pic03.jpg:
  


  "huanban02","huanban03"一樣加上標識符。注意元件的標識符是唯一的,不可重復,每一個元件加上標識符之后,運行時就可以將他們隨時調用出來使用了。

  下面需要做一層花瓣,新建一個MC,命名為“花瓣層1”,幀上大概參見圖pic05.jpg:



  在第1幀里寫上:

  quan=random(3) 10;
  n=1;
  quan這個變量是用來計算該層花瓣一共有多少個,如果寫quan=10,那么該層花瓣就一共有10片,random(3)是一個隨機函數,它的作用是隨機生成0-2的隨機整數,那么quan的實際值應該為10-12的隨機整數。n=1,是計數器,不贅述。在第2幀里寫上:


  for (i=1;i<=quan;i ) {
   temp=random(3) 1;
   this.attachMovie("huaban0" temp,"huaban" n,n)
   lik=this["huaban" n]
   lik._rotation=360/quan*i random(10)-5;
   lik._alpha=random(10) 60;
   lik._xscale=random(20) 100;
   lik._yscale=random(20) 100;
   temp=random(2);
   if (temp==0) {
   lik._yscale=-lik._yscale;
   }
   n
  

  }
  this.attachMovie("huaban0" temp,"huaban" n,n) 的作用就是隨機從庫里抽出"huaban01","huaban02","huaban03"元件,命名為,"huaban" n的實例,復制到本元件內
  lik=this["huaban" n]是用lik變量鎖定該復制的實例,方便后面操作。
  lik._rotation=360/quan*i random(10)-5; 的作用就是把花瓣環繞分布, random(10)-5的目的是為了讓花瓣的旋轉角度有一定偏差,不至于太平均。
  lik._alpha=random(10) 60;的作用是讓花瓣的透明度在60-70之間取隨機值。
  lik._xscale=random(20) 100;的作用是讓花瓣的長度在100%到120%之間取取隨機值。
  lik._yscale=random(20) 100;的作用是讓花瓣的寬度在100%到120%之間取取隨機值。
  temp=random(2);
  if (temp==0) {
  lik._yscale=-lik._yscale;
  }
  以上語句的作用是隨機讓花瓣以中軸進行翻轉。n ;計數器 1。在第90幀寫上:

  stop();
  如此,該層花瓣已經完成,可以把該MC拖入場景,觀察效果

  花是由多層花瓣組成的,因此,有必要多做幾個,可以把上面“花瓣層1”元件復制若干個,修改其中的參數,讓其生成花瓣的數目,長短,透明等等有一定區別。分別拉入場景

  源文件下載: test05.rar

  此時,基本已經完工。下面需要做的是組裝花朵。新建一個MC,命名為“花”,按下圖所示,分別將幾個花瓣層組件分配到不同的層中,將他們疊放在一起。最后在最上層放一個中心點。(你也可以放一個花蕊什么的)參見圖pic04.jpg:



  將本元件拖入場景總,播放,效果大致如test06.swf所示:

  源文件下載: test06.rar

  這時的花看起來還比較平面化,缺少細節,因此,我們需要給花增加效果,讓其看起來更豐富。首先進入“花”組件中,給每一層花瓣都增加兩種濾鏡,分別是投影和發光。大致的設置如下。參見圖pic06.jpg,pic07.jpg:





  然后,進入場景中,給“花”組件也增加一種濾鏡“調整”顏色,大致設置如下。參見圖pic08.jpg:



  經過這樣一改,花朵的效果就豐富很多了,大致效果如test07.swf所示:

  源文件下載: test07.rar

  教程后思考題:
  1、為什么非要在每一個“花瓣層”上增加投影和發光,如果只在“花“組件上增加這兩種濾鏡,效果會如何?
  2、有沒可能再做一花瓣凋零的效果?
  3、如果想做花蕊,可不可以用類似的方法來做?

歡迎轉載:http://www.kanwencang.com/bangong/20161206/63750.html

文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()