FLiNTのemitters

  • 2008 年 3月 24 日
  • kosuke

FLiNTのemittersパッケージの確認。


FLiNTはEmitterを介してパーティクルを発します。
BitmapEmitter
DisplayObjectEmitter
いずれかのEmitterのインスタンスを作ります。

■BitmapEmitter
var emitter:BitmapEmitter = new BitmapEmitter();

■DisplayObjectEmitter
var emitter:DisplayObjectEmitter = new DisplayObjectEmitter();

BitmapEmitterはパーティクルを1枚のビットマップ画面に描き、DisplayObjectEmitterはパーティクルを一つ一つ表示リストに加えるみたい。
本当にEmitterがそのように動作するか確認してみます。

10個のドットパーティクルを生成してそれぞれのEmitterが持つ子の数を数えてみます。

BitmapEmitter

DisplayObjectEmitter

 

import org.flintparticles.actions.*;
import org.flintparticles.counters.*;
import org.flintparticles.displayObjects.*;
import org.flintparticles.emitters.*;
import org.flintparticles.initializers.*;
import org.flintparticles.zones.*;
 
var emitter:BitmapEmitter = new BitmapEmitter();
//またはvar emitter:DisplayObjectEmitter = new DisplayObjectEmitter();
 
addChild(emitter)
 
emitter.setCounter( new Blast(10) );
emitter.addInitializer( new ImageClass(Dot, 1) );
emitter.addInitializer( new Position( new RectangleZone( 10, 10, 90, 90 ) ) );
emitter.start();
 
debug.text = emitter.numChildren + "\r";
 
for(var i=0; i<emitter.numChildren; i++ ){
	<span style="white-space:pre">	</span>debug.appendText(emitter.getChildAt(i));
}
 
debug.wordWrap = true;
debug.width = 190;
debug.height = 80;

と期待通り。

DisplayObjectEmitterとBitmapEmitterは、ビットマップの特性とベクターの特性でよりあっている方を使えばよいのだと思います。

“FLiNTのemitters” に コメントはありません

1 件のトラックバック/ピンバック

コメントをどうぞ