タグ別アーカイブ: mugen

簡単なハイジャンプの設定方法

大体の人はハイジャンプ用のステートを用意している

・・・はず!

 

ぱっと見は分かりやすいのですが、

個人的にはAIを作るとき面倒であるため

アプローチを変えてみよう!

 

ということでこちらの手法

 

ハイジャンプをする場合必ず2のレバーを入れるため

一瞬でも必ずしゃがみ動作が発生する

 

という方向から

 

[statedef 10]

こちらへ

[state ,hiJumpFlag-On]
type=varSet
trigger1=!time
sysVar(0)=1

こうします。

でもこれだけだと常時ハイジャンプしてしまうため、

[state ,hiJumpFlag-Off]
type=varSet
trigger1=time<5
sysVar(0)=0

timeの数値は各々自由でいいと思います。

その後はジャンプした後sysVar(0)をOffにすると

設定が終わりとなります。

当然ながらコマンドも追加する必要ありません。

簡単ですねぇ。

自分のキャラもしくは相手がどのタイミングにあるのかを計る方法

キャラのステートファイルを作ったりすると

音を鳴らしたり、セリフをしゃべらしたり、

攻撃が当たるタイミングの指定などなど

 

もしくはAIを作ったりする場合では

カウンターで攻撃をあてたり、

相打ち上等で攻撃を出させたり、

はたまた当身を取る!

といった場合どうすればいいか?

 

実はmugenには、

今のアニメの絵は何枚目なの?

と問い合わせをするコマンドがあります!

 

大体使われるのはanimElemと呼ばれるほう

性格にはanimElem=4といったような書き方で利用しますが

animElem=4とした場合は、

アニメが4枚目の間

と解釈されます。

ほかにもちょっとした使い方があり、animElem=4, >=0

このような書き方もできます。

animElem=4, >=0と記述した場合、

この場合

4枚目が表示されてから0フレーム以上の場合

と解釈されます。

 

そしてもう1つのほうはanimElemTimeとする書き方

使い方はanimElemTime(4)=0

この場合は

4枚目の絵が表示された瞬間

となります。

 

animElemとの違いとして、

4枚目の間中

といった取り方は出来ません

 

もしもアニメの絵が表示されてからの時間経過を指定する

などという場合はanimElemAnimElemトリガーは

2つの値を判断し真偽を返す

という無駄の多い仕様なので、

animElemTimeを使った方が安定します。

 

ただし、アニメの絵の番号を指定するのみであればanimElemのほうが

状態を把握しやすいため、ケースバイケースで使い分けます。

 

そして最後に利用が少し難しいトリガーですが、

animElemNoという規格が存在します。

 

あまり見ることがないんじゃないかなーと思います。

それもそのはず

このトリガーものすごくエラーが出やすいので

よく考えて使わないと

mugenのクライアントが落ちてしまうためです。

 

使い方はanimElemNo(0) = 4

これでアニメが4枚目のときとなります

ちょっと分かりにくいですね?

 

違う書き方だと

animElemNo(7) = 4

これで4枚目の絵になってから7Fたったとき

となります。

とはいえanimElemNo自体は最初の2つで

十分に同じ分かりやすい使い方が出来るため、使うことはないかと思います。

 

あっついあっつい!

東京都内では熱中症での死亡者数が40人を超えたとか・・・。

この時間帯はPCが熱をガンガン放出するせいかめちゃくちゃ熱いのよねー

 

CPUの温度が52度とか表記されてるし・・・。

来週中に私のスーパーヒーローのAIをロールアウトできたらいいかなぁ。