MUGEN State Controller

MUGENで良いキャラを作るポイントは… 「良いキャラのソースコードを読む」->「コピペ」->「記述を理解」->「自分でアレンジ」
MUGEN AngleDraw

Type = AngleDraw

角度操作 > 実行者自身を回転させます | 実装されたバージョン: 2002.04.14 | 対象: 実行者自身


プレイヤーの軸を中心に回転させて表示します。AngleAdd、AngleMul、AngleSetと併せて使用。角度は、右向き時、反時計回りが正方向になります。

1フレームしか効果がないので、triggerの指定には注意。

Helperと組み合わせて、グルグル回転する、飛び道具とか、オプション等に使えるほか、回転やられに使う人もいます。

ただし、90の倍数角度回転なら問題ありませんが、それ以外の場合はジャギィがでてしまいます。

このステート実行中は、AIRファイル中の座標指定、反転表示、透過表示は無効になります。回転の中心を変えたい場合は、sffに別なスプライトとして登録しなければなりません。なお、これらの無効化は、AfterImageにも影響を及ぼします。また、判定枠は回転しませんので、判定を持たせる場合は、最初から原点(0,0)を中心とする正方形とするか、回転に合わせてAirを設定する必要があります。

キャラクターの見た目を大きくしたり、回転させることはできますが、当たり判定食らい判定は大きくなりません。



バージョンごとの変更点・バグ・エラー・仕様

内容
Version1.0より前HitPause中にIgnoreHitPause=1AngleDrawが実行されると、HitPauseが終わるまでAngleDrawは終了せずにScaleが重ねがけされます。
Version1.0からIgnoreHitPause=1を記述しないと縮尺が固定されません。


パラメーター

value = 角度 (浮動小数点数)

角度を指定。

省略時のデフォルト値: 0
Scale = 横縮尺, 縦縮尺 (浮動小数点数, 浮動小数点数)

スプライトの縮尺を指定。

注意 :  回転・縮尺ともに、判定枠には影響を及ぼしません。

省略時のデフォルト値: 1, 1
Persistent = HitPause無視時間 (整数)

Persistentの値をNに設定した場合、設定したステートコントローラーはNフレーム後にもう一度実行されます。0の場合、トリガーが成立しても1回しかステートコントローラーが実行されません。※トリガーは読み込みますが、パラメーターは完全に無視されます。

Persistentが管理されている配列が初期化される条件は、ステート処理開始(ChangeState,SelfState,TagOut,TagInなどでステート移動)でTime=0の場合に実行されます。また、初期化される個数が決まっており、10個のPersistentしか初期化されません。ですので、Persistentの多様やChangeStateでの使用は避けましょう。もし、特定のステートが実行されない場合は、この仕様を疑ったほうがいいかもしれません。

その他にも、var,fvar,sysvar変数は利用できない・常時ステート([StateDef -1],[StateDef -2],[StateDef -3])では、常にPersistent=1の状態・IgnoreHitPause=1が設定されていた場合、アドレスを書き換え(Alive偽装・Persistent偽装?など)・バージョンによる動作の違いなどバグが満載です。

結論、Persistentの値が0以外の場合は省略して、TriggerTimevarを使って管理した方がいいです。

最小値: 0 , 最大値: 128
省略時のデフォルト値: 1
IgnoreHitPause = HitPauseを無視フラグ (0か1)

IgnoreHitPauseの記述されたステートコントローラー処理がHitPause(ヒット停止時間)を無視して実行されます。基本的に1に設定しておくべきパラメーター。

パラメーター自身にvar,fvar,sysvar変数は利用できません。

攻撃を当てたり受けたりした時にVarSetしたり、Explodの演出をずれないようにしたり用途はさまざま。

最小値: 0 , 最大値: 1
省略時のデフォルト値: 0


省略した時のデフォルト値

  • [State ,AngleDraw]
  • Type = AngleDraw
  • Trigger1 = 1
  • value = 0
  • Scale = 1, 1
  • Persistent = 1
  • IgnoreHitPause = 0


パラメーターの読み込み順

value(1) => Scale(2, 3) => Persistent(?) => IgnoreHitPause(?) =>


*バージョンや実行環境,パラーメーターの指定の仕方によって、読み込まれる順番が変わる可能性があります。参考程度なものだと思ってください。
  
公開日:
最終更新日:
この記事は役に立ちましたか?
ご意見・ご要望はございますか?
記事に不備があった場合

不備があればGithubTwittersuteadddayov@gmail.comにご報告下さい。

記事を編集してみませんか?

ページ編集・翻訳にご協力いただける方を募集しております。お気軽にご連絡下さい。

We are looking for someone who can cooperate on page editing / translation. Please feel free to contact us.