正在閱讀:Flash教程:AS制作祖國萬歲的煙火效果Flash教程:AS制作祖國萬歲的煙火效果

2009-10-09 09:49 出處:PConline原創 作者:中國教程網 cao4811 責任編輯:lizhiyan

  今天我們利用AS制作祖國萬歲煙花效果,希望大家喜歡!文章的最後提供源文件下載

  在做這個效果之在做這個效果之前先介紹一下Flint:

  Flint是一個基於AS3.0的開源的粒子系統類庫,讓我們在不需要完全接觸全部代碼的情況下用自己的編碼風格來輕鬆的擴展它,目前只有基於AS3.0的版本。

  首先介紹一下基於Flint 創建燄火效果的原理,我們的效果將從螢幕的下方升到螢幕的上方,然後飄落在螢幕的下方。組成燄火的每一個小點,都是粒子系統中的一個粒子。

  準備素材

  (1).準備1張背景圖片;
  (2).在ps中制作1張透明背景,白色字形的300*80像素文字圖片,保存為png格式

  操作步驟:

  1、新建Flash文檔,舞臺為550*400像素,幀頻30,背景顏色為黑色。然後把背景和文字圖片導入到庫中。右鍵按一下文字圖片,選擇屬性做鏈接,類名為logo,基類flash.display.BitmapData。

  2、制作一個探照燈效果的影片剪輯,大家都會就不說了。

  3、把圖層1改名為“探照燈”,打開庫拖探照燈影片剪輯到舞臺,放在合適的位置。

  4、添加圖層2改名為“探照燈”,拖入探照燈影片剪輯,修改一下方向,放在合適的位置。

  5、添加圖層3改名為“背景”,打開庫拖入背景圖片,右鍵按一下圖片轉換為影片剪輯。在屬性面板中把透明度調到70%到80%左右(視背景圖片而定)。

  6、添加圖層4改名為as,按一下第1幀,打開動作面板輸入代碼:

//導入類
import org.flintparticles.common.actions.*;
import org.flintparticles.common.counters.*;
import org.flintparticles.common.energyEasing.Quadratic;
import org.flintparticles.common.events.EmitterEvent;
import org.flintparticles.common.initializers.*;
import org.flintparticles.twoD.actions.*;
import org.flintparticles.twoD.emitters.Emitter2D;
import org.flintparticles.twoD.initializers.*;
import org.flintparticles.twoD.renderers.*;
import org.flintparticles.twoD.zones.*;       
//創建2D粒子發射器
var emitter:Emitter2D = new Emitter2D();
//計數器(每一秒中創建5000個粒子)
emitter.counter = new Blast(5000 );
//初始化(粒子的初始位置,速度,圖片和顏色)
emitter.addInitializer( new ColorInit( 0xFFFF3300, 0xFFFFFF00 ) );
emitter.addInitializer( new Lifetime( 8 ) );
emitter.addInitializer( new Position( new DiscZone( new Point( 0, 0 ), 8 ) ) );
var bitmapData:BitmapData = new Logo( 300, 80);
emitter.addInitializer( new Velocity( new BitmapDataZone( bitmapData, -152, -380 ) ) );                       
//向發射器中添加動作,讓每一幀都更新粒子的位置
emitter.addAction( new Age( Quadratic.easeIn ) );
emitter.addAction( new Fade( 1.0, 0 ) );
emitter.addAction( new Move() );
emitter.addAction( new LinearDrag( 0.5 ) );
emitter.addAction( new Accelerate( 0, 70 ) );

emitter.addEventListener( EmitterEvent.EMITTER_EMPTY, restart, false, 0, true );
//定位粒子在舞臺的上方
var renderer:PixelRenderer = new PixelRenderer( new Rectangle( 0, 0, 550, 400 ) );
renderer.addFilter( new BlurFilter( 2, 2, 1 ) );
renderer.addFilter( new ColorMatrixFilter( [ 1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0.96,0 ] ) );
renderer.addEmitter( emitter );
addChild( renderer );

emitter.x = 250;
emitter.y = 300;
emitter.start( );
               
function restart( ev:EmitterEvent ):void
{
        Emitter2D( ev.target ).start();
}


  7、完成後保存在一個目錄下,然後把附件中名為org的壓縮文件解壓到同一目錄下(這個文件夾就是Flint粒子類庫),現在就可以測試了。美工部分大家可以做一些光景、氣球放飛等效果,加入場景中,我想大家一定比我做得好。各種參數可以試著改動一下數據,再看一下效果。

Flash教程:AS制作祖國萬歲的煙火效果

Flash教程:AS制作祖國萬歲的煙火效果

  【點擊下載源文件

關注我們

最新資訊離線隨時看 聊天吐槽贏獎品