FLiNT Version 1.03

  • 2008 年 6月 10 日
  • kosuke

久々にFLiNTを使ったのですが、Versionが1.03になっていました。
以前、調べた時のVersionは0.94です。
使ってみたのですけど、以前のままだと動かなかったよ…。まだ二ヶ月位なのに。

当然動くと思ってるので、え?なんでって思うから。
差分を調べて変更された部分をまとめます。

Emitterの定義が大幅に変更されたようで、DisplayObjectEmitterやBitmapEmitterなどEmitterの区分けが無くなり表示はRencererで設定するようになった。さらにsetCounterメソッドが無くなって、counterプロパティでCounterを設定するようになった。

動かない理由はこれだったのだけれど、そんな根本の部分が変わったの?と問詰めたくなる…。

Emitter

 

emittersパッケージ 旧バージョンはDisplayObjectEmitter、BitmapEmitterのインスタンスを作り、表示リストに加えていましたが、Rendererを設定し表示リストにはrendererを追加します。 パーティクルを放つcounterの設定がsetCounterメソッドからcounterプロパティに変わっています。似たことは可能だった思うけどaddDisplayObjectsってメソッドも無かったです。

 

●Emitter

・プロパティ

■counter : Counter
EmitterのCounter。

・Counterを設定します。
※以前はsetCounter( 設定するCounter )

■particleFactory : ParticleFactory
パーティクルを作ったり消したりするParticleFactory。

・通常自動的にParticleCreatorのインスタンスが設定される。
ParticleCreator

■renderer : Renderer
Emitterで設定したパーティクルを表示するRenderer。

 

・メソッド

■addDisplayObjects(… objects):void
引数のDisplayObjectをパーティクルとしてRencererに表示します。

objects = 追加するDisplayObject。

・追加したDisplayObjectは既存の表示リストから取り除かれます。
・Emitterのparticlesに追加されます。

■rendererGlobalToLocal(p:Point):Point
引数のPointをグローバル座標からRendererのローカル座標に変換して返します。

p:Point = ポイント。

・旧バージョンのglobalToLocal()と同様と思います。

■rendererLocalToGlobal(p:Point):Point

引数のPointをRendererのローカル座標からグローバル座標に変換して返します。

p:Point = ポイント。

・旧バージョンのlocalToGlobal()と同様と思います。

 

●renderersパッケージ

renderersパッケージは0.94には無かったパッケージでEmitterの設定を表示するのに使われています。旧バージョンでは使うEmitterを選ぶことで同様のことをしていました。
renderersパッケージの各クラスはRenderersインターフェースのメソッドを継承しています。

BitmapRenderer
DisplayObjectRenderer
FullStageBitmapRenderer
FullStagePixelRenderer
PixelRenderer

の5つのクラスが用意されていて、パーティクルをDisplayObjectで追加するのがDisplayObjectRenderer。それ以外はBitmapにしてパーティクルを描きます。
BitmapRendererとPixelRendererはパーティクルが描かれる領域をRectangleで設定できます。

FullStageBitmapRenderer、FullStagePixelRendererは描かれる領域がステージサイズとステージの位置に設定されます。これは旧バージョンと同様の動作のようです。
旧バージョンで外部SWFとして読み込んだ場合、FLiNTのコンテンツがうまく表示されなかったので、このあたりは新しいBitmapRendererを使うと解決できるような気がします。

 

●Renderer

メソッド

■addParticle(particle:Particle):void
このRenderを設定したEmitterにパーティクルを追加する時このメソッドが呼ばれます。

・particle:Particle = 対象パーティクル。

■removeParticle(particle:Particle):void

このRenderを設定したEmitterからパーティクルを削除する時このメソッドが呼ばれます。

・particle:Particle = 対象パーティクル。

■renderParticles(particles:Array):void
このRenderを設定したEmitterがパーティクルを描く時このメソッドが呼ばれます。

・particles:Array = 対象パーティクルの入った配列。通常Emitterのparticlesになります。

 

 

●BitmapRenderer

■BitmapRenderer(canvas:Rectangle, smoothing:Boolean = false)

パーティクルをビットマップとして表示するRenderer。

canvas:Rectangle = パーティクルを描く領域を設定します。
smoothing:Boolean = スムージングの有無。

 

プロパティ

■canvas : Rectangle
パーティクルを描く領域

 

メソッド

■addFilter(filter:BitmapFilter, postRender:Boolean = false):void
このRendererが適用するフィルタに引数のフィルタを加えます。

filter:BitmapFilter = 適用するフィルター
postRender:Boolean = falseだとパーティクルを描く前にフィルタを適用し、trueだとパーティクルを描いた後にフィルタを適用します。

■addParticle(particle:Particle):void

このRendererを設定したEmitterにパーティクルを追加する時このメソッドが呼ばれます。
※メソッドの中身からなので無視してよいと思います。

■clearPaletteMap():void

このRendererのparetteMapの設定をクリアします。

■dispose():void
このRendererのBitmapDataをクリアします。

■removeFilter(filter:BitmapFilter):void

このRendererが適用するフィルタから引数のフィルタを削除します。

■removeParticle(particle:Particle):void

このRenderを設定したEmitterからパーティクルを削除する時このメソッドが呼ばれます。

※メソッドの中身は空なので無視してよいと思います。

■renderParticles(particles:Array):void
particlesの各パーティクルにフィルタ

“FLiNT Version 1.03” に コメントはありません

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

コメントをどうぞ