當前位置:編程學習大全網 - 源碼下載 - 動畫火焰效果

動畫火焰效果

如何用flash制作火焰效果呢?下面我們由簡到繁給出幾種方法。

方法壹:簡單位圖MC動畫實現

這個方法是最為老套最為死板卻總是最有效的辦法——位圖MC動畫法(我喜歡稱用位圖來制作MC的方式叫"位圖MC動畫法")。

我從我的火焰素材庫中找到了如上面的幾張烈焰效果圖,大家如果不滿意可以嘗試自己去繪制,筆者建議使用PhotoShop,因為在它其中就有相應的第三方插件能夠非常快速的繪制出十分逼真的火焰效果位圖。

仔細觀察上述四張圖,我們可以看出它們之間的差別非常小,這樣才能夠形成動畫效果更為逼真的火焰。如果大家有時間也可以多作幾張圖,妳的火焰會更具動感。

準備好素材後,我們仍舊按下Ctrl+R將以上的幾幅圖導入到Flash內,如果大家將上面的圖形命名為Fire1、Fire2、Fire3、Fire4的話,那麽在導入Flash的過程中應該會看到如下圖2的提示框:

這個提示框的作用是詢問妳是否要將所有連續文件名的圖形作為壹個連續幀的形式導入到Flash,在這裏我們選擇了“是(Y)”,這樣的話就形成了如下圖3所示的效果:

最後我們在按下Ctrl+M快捷鍵設置了動畫背景色為黑色以後就可以按Ctrl+Enter進行位圖火焰動畫效果測試了。

方法二:用AS實現溫火欲動

首先我們繪制了壹個火焰之“小球”,如下圖4所示。從外觀上看,這根本不像是壹團火焰,不過最終我們需要以它為基礎繪制成壹個火焰動畫。

我們利用這個FireGraphic物件來繪制壹個名稱為Fire的MC

火焰之球動畫斷幀圖(註意:使用Edit Multiple Frames)

在第壹幀我們繪制了壹個淺藍色的小球,在第五幀是黃色,十五幀是紅色,25幀與30幀最是非常淡的顏色效果,並且利用Motion運作使它們連貫。

為了較好的查看這個MC的運動效果我們按下了Edit Multiple Frames按鈕,這樣大家會發現原來在不同的幀的圖形現在在同壹畫面內存在了,這樣更有利於我們查看接近於最終的效果。如果我們按下onion Skin按鈕則會出現如下圖6所示的效果,現在我們的溫火已經初步成形了。

火焰之球動畫連貫圖(註意:使用onion skin)

大家可能會發現,在這個MC的第壹幀上有壹個“a”,我們查看壹下它的代碼如下:

scale = Number(random(50))+30;

setProperty (_target, _x, Number(../:x)+Number(random(12))-6);

setProperty (_target, _yscale, scale);

我想到後面大家會發現這幾行代碼的主要作用:主要是讓火焰小球產生壹個隨機動畫改變位置的效果(改變_x、_y的值);

上面的第壹、三兩句我們可以合並為:

setProperty(_target,_yscale,Number(random(50))+30);

溫火欲動主場景圖

當我們把這個Fire(MC)放置於主場景後我們可以看到如上圖7所示效果,我們將此MC的實體名命名為Fire,然後在場景中建立壹個AS層,並在第1、2、3幀中輸入如下代碼行:

第壹幀,初始化變量:

i = 1;

max = 60;

x = getProperty("fire", _x);

第二幀,復制Fire這個MC:

if (Number(i)<=Number(max)) {

   duplicateMovieClip ("fire", "fire" add i, i);

   i = Number(i)+1;

}

第三幀,刪除復制出來的MC影片:

if (Number(i)<=Number(max)) {

   removeMovieClip ("fire" add i);

   i = Number(i)+1;

}

gotoAndPlay (2);

只需要復制與刪除相應的MC就可以了。現在大家可以按下Ctrl+Enter測試壹下這個溫火欲動的火焰效果了。最後留給大家壹點點小小的問題,在此例中我們為什麽將復制出來的MC實例又用removeMovieClip命令將其刪除呢

  • 上一篇:跨庫觸發表同步時如何實現更新數據同步?
  • 下一篇:openssl是什麽軟件
  • copyright 2024編程學習大全網