Explodに関するネタ

e5862008-01-29

Trans及びAlphaが使える

HelperによくくっつけるTransコントローラと同じことがExplodでもできる。使い方はTransとまったく同じで、

[State 11120, Explod]
type = Explod
trigger1 = Time = 0
anim = 11120
ID = 11120
pos = 0,0
postype = P1
bindtime = -1
removetime = -2
ownpal = 1
ontop = 0
trans = addalpha
alpha = 128,256
scale = 1.15,1.15
ignorehitpause = 0

普通に書くと普通に適用してくれる。ただ、Explodでわざわざtrans = subやtrans = addを使う理由は薄い*1ので、大概はtrans = addalphaとModifyExplodを組み合わせてフェードイン・フェードアウトを表現するのに使うことになる。ModifyExplodから操作してもしっかり透過率が変わってくれる。

IgnoreHitPauseの扱いが他と違う

普通IgnoreHitPauseはデフォルトで「0」になっていて、HitPauseがかかると何度も処理を繰り返すかもしくは処理が途中で止まるかのどちらかになる。しかしExplodだけは例外で、IgnoreHitPauseを設定していなくともHitPauseを無視して実行を続ける*2。そこで明示的にIgnoreHitPause = 0と書いてやると、ExplodがExplodの生成者のHitPauseに合わせてアニメを停止するようになる。これは所謂「下敷き系」の処理において必須になる。特に攻撃判定を持ちつつ下敷きを敷くエフェクトを使っている場合、BindTime = -1及びIgnoreHitPause = 0を書いてやらないと同期が取れず悲惨なことになる。

IgnoreHitPause = 0でも回避できないズレ

ところがどっこい、BindTime = -1とIgnoreHitPause = 0の両方をつけてもなお、まだエフェクトがズレることがある。アップした画像を見ると、ワラキアの爪エフェクトの下に敷いた透過調整用の白エフェクトが思いっきり露出しているのが分かるだろう。どうやらScreenBoundで画面を固定していると*3、Explodが本体に追従できずに数Fの間ズレてしまうらしい。これに関してはもはや回避のしようが無い*4ので、仕様と思って諦めるしかない。

ModifyExplodで変更できないパラメータ

まず、PosはPostypeを設定していないと変更できない。あと、需要の高そうなanimがよりにもよって変更できない(地味に痛い)。他は大体変更できるのを確認しているが、supermovetimeやpausemovetimeは書いてもModifyExplod自体のパラメータが変更されるだけで、対象となるExplodの該当する値を変更することはできない。当然と言えば当然か。

*1:暴走アルクェイドや赤主秋葉のエフェクトを作る時には必須になるけど、そもそもそんなケース自体が稀

*2:出現自体はIgnoreHitPauseに左右される模様

*3:実は詳細な条件が分かっていない

*4:もしかするとExplodではなくHelperをBindすれば回避できるかもしれないが、そもそもそこまでしてやる必要のある処理かどうかは疑問の残るところ