Flash AS3 雪を降らせる

Flash

Flash AS3 雪を降らせる効果

FlashのAction Scriptだけで簡単に雪を降らせてみましょう!
何も描画する必要はありません。

Flint Particle Systemというオープンソースのライブラリを使います。
パーティクル、とはこういう形のない粉というか、粉末というか、破片のようなものをいうそうです。
開発者のRichard Lordさん(スキンヘッド)に感謝!

http://flintparticles.org/

  • 上記 Flint Particle System からソースコードをダウンロードします。

http://code.google.com/p/flint-particle-system/downloads/list

  • 解凍してできるorgというディレクトリにFlashのクラスパスを通しましょう。
  • 500×400ピクセルで背景が黒(背景が白だと雪が降ってもわからない)のFlaファイルを作成します。
  • 最初のフレームに、次のように書きます。
 import flash.geom.Point;
 import org.flintparticles.common.counters.*;
 import org.flintparticles.common.displayObjects.RadialDot;
 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.*;
 
 var emitter:Emitter2D = new Emitter2D();
 
 var renderer:DisplayObjectRenderer = new DisplayObjectRenderer();
 addChild( renderer );
 renderer.addEmitter( emitter );
 
 emitter.counter = new Steady( 100 );
 
 emitter.addInitializer( new ImageClass( RadialDot, 2 ) );
 emitter.addInitializer( new Position( new LineZone( new Point( -5, -5 ), new Point( 505, -5 ) ) ) );
 emitter.addInitializer( new Velocity( new PointZone( new Point( 0, 65 ) ) ) );
 
 emitter.addAction( new Move() );
 
 
 var scaleImage:ScaleImageInit = new ScaleImageInit( 0.75, 2 );
 emitter.addInitializer( scaleImage );
 
 var drift:RandomDrift = new RandomDrift( 15, 15 );
 emitter.addAction( drift );
 
 emitter.start();

Ctrl+Enterでムービーを見てみましょう。

できあがりのイメージと、上記スクリプトの解説は下記のサイトをよく読んでください。
http://flintparticles.org/tutorials/snowfall

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です