※解説修正情報※
2014-10-13:Scale処理について
2013-04-03:IgnorehitPauseオプション指定


■Explod【エフェクト表示】

▼概要
指定した番号のアニメ画像をキャラとは別に射出し、表示する。
Explodの管理は射出したキャラ自身で、それ以外のキャラは干渉できない
射出後はパラメーターに従って残存・消失する。
処理は全てのキャラ処理より後に行われる。詳しくはフレーム処理参照。
上限数
またEplodは全体総数に上限があり、それを超えると射出できなくなる。
上限数はmugen.cfgで設定。デフォルトは64個。
Explod系
射出:SC-/Explod 消去命令:SC-/RemoveExplod
変更・固定時間:SC-/ExplodBindTime 変更・全般:SC-/ModifyExplod
情報:T-/NumExplod(自身のExplodのみ) ※Explodの状態情報は数以外分からない
類似
fightfxアニメ専用:SC-/GameMakeAnim
fightfxアニメ120番(埃)専用:SC-/MakeDust

▼必須記述
Anim = (Int型) ;表示するアニメ番号
  • 表示をさせるアニメの番号を入れる。
  • F(Int型数値)と入力すればMUGEN本体側のFile-/fightfxファイルを利用できる。
    • F##の入力でもFの後に数式を入れることは可能。

▼オプション
  • ID = (Int型);ExplodID設定 省略時0
    • T-/NumExplodや他のExplodステコンを使わないなら個別に指定する必要はない。
    • 他ステコンで同一の処理をするExplodなら同一のIDを指定したほうが良い場合もある。
位置関係
  • PosType = (文字列);表示の基準点。Pos=0,0とする場所。
    • P1:実行するキャラの座標。向き:キャラ基準 省略時P1
    • P2:P2相手の座標。向き:P2相手基準(P2相手についてはリダイレクト参照)
    • F:Front:キャラの前の画面端,画面上端。向き:右向き
    • B:Back:キャラの後ろの画面端,画面上端。向き:内側向き
    • L:Left:画面自体の左端,画面上端。向き:右向き
    • R:Right:画面自体の右端,画面上端。向き:右向き
      • Front,Back,Left,Rightは頭文字だけで識別?スペルミスしていても動く。
      • SC-/HelperSC-/Projectileと違い、画面上端に出現する。
  • Pos = (X座標Int型),(Y座標Int型);表示座標
  • Random = (X座標Int型),(Y座標Int型);表示座標ブレ設定
    • ランダムで指定値の半分の+-分までズレる。40なら+20~-20のどこか。
  • BindTime = (Int型);表示座標へ固定する時間 最低1に設定すること。省略時1
    • 指定フレーム数の間はPosなどに従って表示。基準位置が動けば動く。
    • 0指定の場合、画面左上端に出現してしまう。
    • Bindtime=-1指定で、永続設定に。
  • Vel = (X速度Float型),(Y速度Float型);移動速度
  • Accel = (X加速度Float型),(Y加速度Float型);移動加速度
    • 毎フレーム速度にしたがって動き、速度に加速度を加算していく。
    • BindTimeの効果が残っている間は速度では動かない
      • ただし加速度は加算されていく。
    • 加速度は射出時点のフレームでは影響を与えないみたい?
表示関係
  • RemoveTime = (Int型);表示する時間。数値フレーム分表示。
    • 省略時-2(アニメ終了まで表示) -1で永続表示(※使用には要注意)
    • 基本的に-2指定か、1指定での更新がベター、かと。
  • RemoveOnGetHit = (bool型);親が攻撃をくらった時消すフラグ
    • 省略時0(消さない) 動作用エフェクトは1にしよう
    • T-/Movetypeではなく攻撃を受けたかどうか
  • Facing = (Int型1or-1);左右の向き指定 省略時1 -1で反対向き
  • VFacing = (Int型1or-1);上下の反転指定 省略時1(通常) -1で反転
    • ※Facing,vFacingは座標位置に影響しない。
  • Scale = (X縮尺Float型),(Y縮尺Float型);省略時1,1(変化せず)
    • 通常の大きさ(1,1)を基準とし、本体のサイズ設定などの影響を受けない。
  • SprPriority = (Int型);スプライト表示優先度。省略時0
  • Ontop = (bool型);前面表示フラグ 省略時0
    • 1でSprPriorityを無視し手前に表示(ヒットスパークよりは奥とのこと?)
  • OwnPal = (bool型);パレット固有フラグ 省略時0
    • 1の場合SC-/PalFXなどの影響を受け付けなくなる。
  • Shadow = (int型),(int型),(int型);影の色。
  • いわゆるRGB指定。-1でステージ依存。省略時0,0,0(影無し)
  • Trans = (文字列);透過設定、SC-/Transの変更をExplodへ適応する。
    • ただ基本的に、透過設定はAirファイルで指定すること。
Pause無視系
  • SuperMove = (bool型);省略時0 1でSC-/SuperPauseを一切無視して動く。
    • ただし1にしてもSC-/Pauseの影響は受ける。
  • SuperMoveTime = (Int型);SC-/SuperPauseを始動から指定フレーム中だけ無視
  • PauseMoveTime = (Int型);SC-/Pauseを始動から指定フレーム中だけ無視
    • いずれも省略時は0、一切無視をしない。
    • ただし射出時点のフレームはMoveTimeに関わらず動く。※MoveTimeの分とは別計算?
    • MoveTimeが無くBindTimeが残っている場合、画面の移動に追従する
      • 基準がP1などでも画面の動きに合わせて動く。
      • 判定にBindTimeが0になれば画面の動きの影響をうけない。
    • MoveTimeの影響時間はPause中の経過でなく射出からの時間
      • SuperMoveTime=120の場合、射出から約2秒間のみ影響を受けない。
      • 120設定なら射出から2秒以上経っている場合は影響を受ける。
  • なおExplodは親キャラの処理とは別に作動する。
    • そのためMoveTimeが機能するのだが。
特殊
  • IgnoreHitPause = 0;Ignorehitpause指定0
    • 本来PauseTime(ヒットポーズ)適応中にステコンを実行しない設定だが
      Explodでは攻撃のヒットポーズ適応中、Explodも一時停止するオプション指定にもなる。
    • ただし相手側の通常攻撃(SC-/ReversalDef以外)のPausetime適応中は停止しない。
    • 本体に同期させる攻撃用エフェクトには必ず付けること。


■Lv1-記述例・補足・注意点

記述例
[State 2000, explod]
type = Explod
Trigger1 = AnimElem =3
anim = 8040
  • T-/AnimElemが3枚目のはじめに8040番アニメを表示。
    • 表示はキャラの基準位置(足元)、アニメ終了時点で消滅。
    • オプションパラメータは多いが基本的なエフェクトには不要。

補足
  • アニメを透過処理したい場合
  • 回転させることはできない。
  • くらい判定・攻撃判定はつかない。完全にエフェクト用。
  • Explodの状態を変更するステートコントローラー
  • SC-/Helperから射出した場合はそのHelperの管理となる。
    • そのHelper以外からそのExplodを干渉することはできない。

注意点
  • SC-/HelperSC-/DestroySelfする際はSC-/RemoveExplod
    • RemoveTime=-1指定などの永続表示Explodを持っているHelperが消えた場合、
      そのExplodを消せるキャラがいなくなり永久に残り続ける
    • 永続表示設定は可能な限り避けたほうが良い
  • 毎フレームSC-/RemoveExplodをかけつつ更新するほうが、
    • 不測の事態で表示が残り続ける危険が無く、
      SC-/modifyExplodと記述を分ける必要がなくて済む。
      • 処理は重くなるが2010年以降クラスのPCなら気にならないかと。
      • 流石に数百個単位となると重くなるが。
  • なおRemoveTimeは表示フレーム数で、残存時間は+1フレーム長い
    • RemoveTime=1ではステート処理中は2フレーム分の残るため、T-/NumExplodは要注意。
    • 1では「射出時点(表示) ~ 次のフレームの終了時点(消失)」まで残る。
      • 残ると言っても終了時点で消滅するので表示は行われない。
    • SC-/RemoveExplodは実行時点で消せるが。
  • Win版以前と1.0版以降では基本の画面横幅が異なる。
    • その為、画面を基準とするPosTypeを使用する場合、横幅に注意。
注意点・上限数
デフォルトだと64個が上限数となっているが、
全体で64個のためタッグ時は一人平均16個までと心もとない。
mugen.cfgから上限設定を増やしておくこと。
本体攻撃動作に同期させる際の注意点
  • 通常本体のPauseTime(ヒットポーズ)の影響をExplodは受けないため表示がズレる
    • IgnoreHitPause=0指定を書くと親の攻撃命中時、Explodも停止するようになる
    • ただしその指定でも相手側の攻撃によるヒットポーズでは停止しない模様
    • 相手側の攻撃でも相手側のSC-/ReversalDefによるのPauseTimeなら停止する。
  • PauseTimeに関わらず同期させたい場合は
    • エフェクトのElemを細かく分けて随時Animを更新し続けるか
    • エフェクト自体をSC-/Helperで表示させ、Elemを同期対応させることになる。
  • その他、特殊な・特徴的なエフェクトもSC-/Helperで管理させるほうが安全。
  • 「空中動作で大きなエフェクトを持っていて着地時に消す」場合、
    • SC-/RemoveExplod常時監視ステートに置いても
      処理順の関係上、着地時点のフレームでは消滅しない。
    • RemoveExplodは戻るステートにも置く必要がある。
    • SC-/Helperなら本体の状態を確認して戻ったフレームで消せる。

ステージによる拡大縮小について
  • ExplodはステージのZ軸系設定による拡大縮小の影響を受けない。
    • そのためステージによって表示にズレが出ることがある。
    • もっと言うと、ステージの拡大縮小設定は可能な限り控えたほうが良い。
  • ステージの拡大縮小を使う場合はPos、Velなど座標系統の設定に倍率を入れる必要がある。
    • T-/Fvar()で管理できるようにしておくと便利かもしれない。
(1.1版辺りからは対応してる?)


固有ゲージを表示する場合
基本T-/TeamSideに従い左右を決定する。
PosTypeをLとRに分けて表示すると記述を各2個ずる各必要がある。
SC-/Helperから射出できるなら、向きをTeamSideで調整し、、
PosType=Backで表示させるという方法もある?
Helperだが向きを変更できない場合はPosType=Lで

Pos = Floor(ScreenPos X-Pos X)*2*(TeamSide=2)+(X位置)*Ifelse(TeamSide=2,-1,1) , (Y位置)
Facing = Ifelse(TeamSide=2,-1,1)
という風にすると一挙にまとめる事ができる。はず。
Ifelse部分は(Facing)で良い。左向きなら(Facing*-1)で。
  • Helperでなく本体から固有ゲージを表示させるのは
    相手のSuperPause中に更新ができなくなるといった欠点がある。
    • なのでSC-/Helperを経由して表示させる方が便利。