2D格闘ツクール2ndのバグ・よくあるミス

■ チュートリアル


■ コマンド解説


■ テクニック解説
 001 特殊なキャラクターセレクト
 002 画面レイアウト
 003 カラーセレクトの設定
 004 ヒットエフェクトの研究
 005 ヒットエフェクトの描き方
 006 スクリプト一覧のテキスト化
 007 通常立ちの設定
 008 VSで開始位置指定
 009 雛型キャラの作成
 010 INIファイルの内容
 011 変数の大小チェック
 012 当て身投げの作り方
 013 必殺技コマンドの設定
 014 アニメ作成_通常攻撃
 015 ゲームモードによる分岐
 016 変数の一覧を記録
 017 受け身入力の判定
 018 ダウン値による分岐処理
 019 飛び道具の作成
 020 ワープ技の作成
 021 ヒット硬直のコントロール
 022 ステージの地面表現
 023 ヒット数表示の固定
 024 横方向のホーミング攻撃
 025 1P/2Pの判別
 026 ライフ減少アニメ
 027 画面下部の表示内容
 028 ステータス表示の意味
 029 ガードクラッシュの表現
 030 押せないOBJ
 031 アイテムのあるゲーム
 032 復活する技の作成
 033 空ガードの作成
 034 ステージ選択付きキャラセレ
 035 ゲージMAXの表示
 036 固定ダメージを表現する
 037 ラン動作の作成
 038 投げ技によるKOの作成
 039 ボタン溜め押し技の作成
 040 中段攻撃の作り方
 041 製作に役立つツール
 042 カラーセレクトに適した画像
 043 相手によって動作変更
 044 横幅のあるキャラを表現
 045 ラウンド限定の動作
 046 影色の塗りを効率化
 047 モードを切り替えるキャラ
 048 当たり判定設定のコツ
 049 空中ジャンプを表現する
 050 キャラの向きを判別する
 051 途中でKOしない乱舞技
 052 カウンターヒットの作成
 053 OBJの動作を停止
 054 ハイジャンプの作成


■ バグ・よくあるミス


■ テスト時のチェック項目


■ 解説用データ ダウンロード


009

画面端でのヒットバック2

今回は、 画面端のヒットバック2と題して
「 Y方向の移動が絡むやられ動作」について注意点を説明します。

ここでは画面端のヒットバック1の説明を
十分理解していること前提で話を進めていくので
このページを読む前に画面端のヒットバック1の内容を
確認しておくことをお勧めします。


まずは今回作成する動作を確認しておきましょう。

相手の攻撃によって後方上向きにふっとび、地面接触するとダウン動作に入る
というものになります。

以下は今回の動作で使用するキャラパターンです。

※ゲーム用BMPは、上記画像のリンク先にて提供しております。

上記の動作をスクリプト化したものが以下になります。
( 細かいスクリプトの内容については、後で説明します )

なお、ここでは「ふっとび開始〜落下中」
「着地〜ダウン動作」の2行に分けてスクリプトを記述しています。


問題確認:
上のスクリプトを実行すると、画面端でのヒットバック処理が不自然になります。

キャラの位置関係に注目してください。
( 画像上側が攻撃の瞬間、下側が攻撃後の状態です )
ふっとび動作の前後で、画面右側にいるキャラ( 攻撃側 )
立ち位置がやや後方にずれていることがわかります。

この問題を解決するため、「画面端のヒットバックが変1」では
やられ動作に壁接触時の条件分岐を追加しました。

 詳しい説明は省きますが、
 壁に当ったら、X方向の移動力を0にして処理続行 という処理を組みました。
 ( 詳しくは、画面端のヒットバック1ページを参照 )

今回の動作についても、同様の方法でスクリプトを修正します。
以下は、修正後のスクリプト一覧になります。
( ピンク色で示されている部分が修正箇所になります )

「ふっとびやられ」のスクリプト
ブロック番号 命令 設定内容
1 防御枠 やられ・ぶつかり判定
2 画像呼出 やられ画像1枚目
3 条件分岐:技中有効 「着地したら」ダウン動作へ
4 座標移動 後上方へふっとぶ移動力を設定
5 条件分岐:技中有効 「壁に当ったら」 7へ
6 スクリプト移動 8へ
7 座標移動 X方向の移動を0に
8 画像呼出 やられ画像2枚目( WAIT=0 )


修正後のスクリプトをテストプレーで確認してみましょう。

キャラが攻撃を受けてふっとび動作を開始…


キャラが壁に接触。

影の位置を見れば分かるとおり、攻撃側キャラの立ち位置は攻撃前と変わっていません。
( 多少のずれはあるかもしれませんが、不自然なヒットバックは防げています )

ここまで見ると全く問題なく動作していますが、
やられ側のキャラが着地すると…?

キャラが通常立ちの状態になります。
この時、着地動作ややられ動作は全く見られません。


原因:
はっきりとした原因はわからないのですが、
どうやら格闘ツクールには
条件分岐を1つ満たすと他の条件分岐設定がリセットされる
というルールがあるようです。

例えば、以下のような2条件が設定されている場合…
A:壁に当ったら
B:着地したら


壁に当った時点でAの条件が成立、
この時Bの条件分岐設定は解除されてしまいます。

 テスト結果で着地時のダウン動作を取らなかったのもこれが原因だと思われます。


対策:
あまりスマートな方法ではありませんが、
この問題の修正はそれほど難しくはないです。
以下に修正版のスクリプトを載せます。



ブロック番号 命令 設定内容
1 防御枠 やられ・ぶつかり判定
2 画像呼出 やられ画像1枚目
3 条件分岐:技中有効 「着地したら」ダウン動作へ
4 座標移動 後上方へふっとぶ移動力を設定
5 条件分岐:技中有効 「壁に当ったら」 7へ
6 スクリプト移動 8へ
7 座標移動 X方向の移動を0に
8 条件分岐:技中有効 「着地したら」ダウン動作へ
9 画像呼出 やられ画像2枚目( WAIT=0 )


ブロック8で条件分岐の再設定を行っている点に注目してください。
この処理を入れることで、壁接触後の着地判定を行うことが出来ます。

 壁に接触した場合は、5→7→8→9という流れで。
 接触しなかった場合は、5→6→8→9という流れで処理を実行します。
 ( どちらの場合も8の条件分岐を通っているのがポイントです )


処理確認:
修正後の処理をテストプレーで確認してみます。

着地の手前までは、修正前と変わらず。
キャラが地面に接触すると…?

ダウン動作がスタートしました。

上記の通り、壁接触後の着地判定が正しく行われていることが確認できました。

MEMO

なお、着地時のダウン動作には壁接触判定のリセット
を入れておくことをお勧めします。

これがないと、着地後の起き上がり動作などで
不意に壁に接触した際にキャラが妙な動きをします。
( ふっとび中の壁判定が生きているため? )

壁接触判定をリセットするには、
以下のように設定すればOKです。

「条件分岐」命令にて、
分岐条件を「壁に当ったら」
飛び先を「--設定なし--」にします。

以上で
Y方向の移動が絡むやられ動作設定に関する説明を終えます。
質問などあれば、お気軽に掲示板にてお尋ねください。


ページ先頭へもどる

トップページへもどる

inserted by FC2 system