FLiNTのactions #1
- 2008 年 3月 29 日
FLiNTのactionsパッケージを確認します。
クラスの数が多いので2記事に分けています。
■Accelerate(accelerationX:Number, accelerationY:Number)
パーティクルに加速を設定します。
accelerationX = 1秒あたりに加速するx方向の移動量。
accelerationY = 1秒あたりに加速するy方向の移動量。
■Age(easing:Function = null)
パーティクルが活動する時間の変化に対しイージングを設定します。
活動する時間についてはinitializersパッケージのLifetimeクラスを参照。
AgeのイージングはFadeやColorChangeのアクションに適用されます。
easing = energyEasingパッケージのイージングを設定します。
■BoundingBox(left:Number, top:Number, right:Number, bottom:Number)
パーティクルの動く範囲を四角形に制限します。
制限に達すると逆方向に同じ速度で跳ね返ります。
left = 四角形の左端。
top = 四角形の上端。
right = 四角形の右端。
bottom = 四角形の下端。
■ColorChange(startColor:uint, endColor:uint)
パーティクルの色をstartColorからendColorに変化させます。
変化する時間については、initializersパッケージのLifetimeクラスに依存し、
変化する時間のイージングについてはactionパッケージのAgeクラスに基づきます。
startColor = 最初の色。
endColor = 最後の色。
カラー値は、0xAARRGGBBで指定します。
■DeathOffStage(padding:Number = 10)
パーティクルがステージの境界より外にある時、パーティクルを消します。
padding = ステージの境界にpaddingを加えた値を境界外とします。
■DeathSpeed(speed:Number, isMinimum:Boolean = false)
パーティクルがある速度以上(以下)にある時、パーティクルを消します。
speed = 対象スピード。
isMinimum = falseとすると、対象スピード以上のパーティクルを消す。
trueにすると対象スピード以下のパーティクルを消すようなのですが…。サンプルの動きがあやしいです。
■DeathZone(zone:Zone, zoneIsSafe:Boolean = false)
パーティクルが対象ゾーン内(外)にある時、パーティクルを消します。
zone = 対象ゾーン。
zoneIsSafe = falseの時、対象ゾーン内にあるパーティクルを消します。
trueの時、対象ゾーン外にあるパーティクルを消します。
■Explosion(power:Number, x:Number, y:Number, epsilon:Number = 1)
パーティクルを爆発が起きたように移動させます。
power = 爆発力。
x = 爆発の中心となるx座標。
y = 爆発の中心となるy座標。
epsilon = 爆発が影響する最小の範囲。
■Fade(startAlpha:Number = 1, endAlpha:Number = 0)
パーティクルのアルファをstartAlphaからendAlphaに変更します。
変化する時間については、initializersパッケージのLifetimeクラスに依存し、
変化する時間のイージングについてはactionパッケージのAgeクラスに基づきます。
startAlpha = 最初のアルファ。
endAlpha = 最後のアルファ。
■Friction(friction:Number)
パーティクルに摩擦を設定します。
friction = 摩擦の強さ。
■GravityWell(power:Number, x:Number, y:Number, epsilon:Number = 100)
パーティクルを一点に向かって引っ張ります。
爆発の逆と考えると分かりやすいかも。
power = 引力。
x = 引力の中心となるx座標。
y = 引力の中心となるy座標。
epsilon = 引力が影響する最小の範囲。
■Jet(accelerationX:Number, accelerationY:Number, zone:Zone, invertZone:Boolean = false)
パーティクルが対象ゾーン内(外)にある時、パーティクルに加速を設定します。
accelerationX = 1秒あたりに加速するx方向の移動量。
accelerationY = 1秒あたりに加速するy方向の移動量。
zone = 対象ゾーン。
invertZone = falseの時、対象ゾーン内にあるパーティクルを加速します。
trueの時、対象ゾーン外にあるパーティクルを加速します。
■LinearDrag(drag:Number)
パーティクルの速度に比例して減速します。
結果全てのパーティクルが同時に停止するようです。
drag = 減速量。
■MouseExplosion(power:Number, epsilon:Number = 1)
マウスの位置を中心にして、パーティクルを爆発が起きたように移動させます。
起きたように移動させます。
power = 爆発力。
epsilon = 爆発が影響する最小の範囲。
■MouseGravity(power:Number, epsilon:Number = 100)
マウスの位置を中心にして、パーティクルを一点に向かって引っ張ります。
これもMouseExplosionの逆と考えると分かりやすいです。
power = 引力。
epsilon = 引力が影響する最小の範囲。
■Move()
ActionやInitializerの設定に基づき、パーティクルを移動させます。