FLiNTのactions #1

  • 2008 年 3月 29 日
  • kosuke

FLiNTのactionsパッケージを確認します。

クラスの数が多いので2記事に分けています。

■Accelerate(accelerationX:Number, accelerationY:Number)
パーティクルに加速を設定します。
accelerationX = 1秒あたりに加速するx方向の移動量。
accelerationY = 1秒あたりに加速するy方向の移動量。

Accelerate

 

■Age(easing:Function = null)
パーティクルが活動する時間の変化に対しイージングを設定します。
活動する時間についてはinitializersパッケージのLifetimeクラスを参照。
AgeのイージングはFadeやColorChangeのアクションに適用されます。
easing = energyEasingパッケージのイージングを設定します。

Age

 

■BoundingBox(left:Number, top:Number, right:Number, bottom:Number)
パーティクルの動く範囲を四角形に制限します。
制限に達すると逆方向に同じ速度で跳ね返ります。
left = 四角形の左端。
top = 四角形の上端。
right = 四角形の右端。
bottom = 四角形の下端。

BoundingBox

 

■ColorChange(startColor:uint, endColor:uint)
パーティクルの色をstartColorからendColorに変化させます。
変化する時間については、initializersパッケージのLifetimeクラスに依存し、
変化する時間のイージングについてはactionパッケージのAgeクラスに基づきます。
startColor = 最初の色。
endColor = 最後の色。
カラー値は、0xAARRGGBBで指定します。

ColorChange

 

■DeathOffStage(padding:Number = 10)
パーティクルがステージの境界より外にある時、パーティクルを消します。
padding = ステージの境界にpaddingを加えた値を境界外とします。

DeathOffStage

 

■DeathSpeed(speed:Number, isMinimum:Boolean = false)
パーティクルがある速度以上(以下)にある時、パーティクルを消します。
speed = 対象スピード。
isMinimum = falseとすると、対象スピード以上のパーティクルを消す。
trueにすると対象スピード以下のパーティクルを消すようなのですが…。サンプルの動きがあやしいです。

DeathSpeed

 

■DeathZone(zone:Zone, zoneIsSafe:Boolean = false)
パーティクルが対象ゾーン内(外)にある時、パーティクルを消します。
zone = 対象ゾーン。
zoneIsSafe = falseの時、対象ゾーン内にあるパーティクルを消します。
trueの時、対象ゾーン外にあるパーティクルを消します。

DeathZone

 

■Explosion(power:Number, x:Number, y:Number, epsilon:Number = 1)
パーティクルを爆発が起きたように移動させます。
power = 爆発力。
x = 爆発の中心となるx座標。
y = 爆発の中心となるy座標。
epsilon = 爆発が影響する最小の範囲。

Explosion

 

■Fade(startAlpha:Number = 1, endAlpha:Number = 0)
パーティクルのアルファをstartAlphaからendAlphaに変更します。
変化する時間については、initializersパッケージのLifetimeクラスに依存し、
変化する時間のイージングについてはactionパッケージのAgeクラスに基づきます。
startAlpha = 最初のアルファ。
endAlpha = 最後のアルファ。

Fade

 

■Friction(friction:Number)
パーティクルに摩擦を設定します。
friction = 摩擦の強さ。

Friction

 

■GravityWell(power:Number, x:Number, y:Number, epsilon:Number = 100)
パーティクルを一点に向かって引っ張ります。
爆発の逆と考えると分かりやすいかも。
power = 引力。
x = 引力の中心となるx座標。
y = 引力の中心となるy座標。
epsilon = 引力が影響する最小の範囲。

GravityWell

 

■Jet(accelerationX:Number, accelerationY:Number, zone:Zone, invertZone:Boolean = false)
パーティクルが対象ゾーン内(外)にある時、パーティクルに加速を設定します。
accelerationX = 1秒あたりに加速するx方向の移動量。
accelerationY = 1秒あたりに加速するy方向の移動量。
zone = 対象ゾーン。
invertZone = falseの時、対象ゾーン内にあるパーティクルを加速します。
trueの時、対象ゾーン外にあるパーティクルを加速します。

Jet

 

■LinearDrag(drag:Number)
パーティクルの速度に比例して減速します。
結果全てのパーティクルが同時に停止するようです。
drag = 減速量。

LinearDrag

 

■MouseExplosion(power:Number, epsilon:Number = 1)
マウスの位置を中心にして、パーティクルを爆発が起きたように移動させます。
起きたように移動させます。
power = 爆発力。
epsilon = 爆発が影響する最小の範囲。

MouseExplosion

 

■MouseGravity(power:Number, epsilon:Number = 100)
マウスの位置を中心にして、パーティクルを一点に向かって引っ張ります。
これもMouseExplosionの逆と考えると分かりやすいです。
power = 引力。
epsilon = 引力が影響する最小の範囲。

MouseGravity

 

■Move()
ActionやInitializerの設定に基づき、パーティクルを移動させます。

“FLiNTのactions #1” に コメントはありません

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

  • FLiNTのeasingとenargyEasing « 2BLOG (Pingback, 2009 年 2 月 26 日)
    [...] easingは、TimePeriod Counterを設定するのに使い、enargyEasingは、Age Actionを設定するのに使います。 [...]

コメントをどうぞ