イナヅマTVログ

FLiNT particle system, GravityWellでパーティクル

| 0件のコメント

FLiNT Examples -> Gravity Wells を参考にした。

org.flintparticles.twoD.actions.GravityWell
public function GravityWell(power:Number, x:Number, y:Number, epsilon:Number = 100)

重力発生装置のように使えるのかも。
パワー、位置を指定する。

FLiNT GravityWell

FLiNT GravityWell

6000個のインスタンスをBlurFilterをかけて動かしている。
恐るべき実力。
どの Class を使うと何ができるか把握するのが大変そう。

import org.flintparticles.common.counters.*;
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();
 
emitter.counter = new Blast( 6000 );
 
emitter.addInitializer( new ColorInit( 0xFFff6600, 0xFFfff633 ) );
emitter.addInitializer( new Position( new DiscZone( new Point( 200, 200 ), 200, 150 ) ) );
 
emitter.addAction( new Move() );
 
emitter.addAction( new GravityWell( 30, 200, 200 ) );
emitter.addAction( new GravityWell( 30, 100, 100 ) );
emitter.addAction( new GravityWell( 30, 300, 300 ) );
 
var renderer:PixelRenderer = new PixelRenderer( new Rectangle( 0, 0, 400, 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,.96,0 ] ) );
renderer.addEmitter( emitter );
addChild( renderer );
 
emitter.start();

コメントを残す

必須欄は * がついています


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください