001 はじめに
002 ゲーム作成
003 各種メニュー確認
004 「キャラクター」作成
005 「ステージ」作成
006 「デモ」作成
007 「テストプレー」
008 「ステージ」編集
009 「キャラクター」編集
010 パレット管理
011 アニメーション
012 「座標移動」
013 重力の設定
014 その他スクリプト
015 「リアクション」
016 ヒットエフェクト
017 スクリプトの並べ方
018 攻撃動作
019 「コマンド入力」
020 攻撃判定
021 やられ判定
022 やられ動作の設定
023 「タイトル画面」作成
024 タイトルカーソルの表示
025 「キャラクターセレクト」
026 各種インターフェイス
027 ラウンド関連の表示
028 CPUの動作指定
029 「ストーリー」の作成
030 ヒット数の表示
031 投げ技の作成
032 ゲージ消費技の作成
033 ステージの組み方
034 デモシーンの組み方
035 格闘ツクールの仕様
■ コマンド解説
001 画像呼出
002 座標移動
003 防御枠
004 攻撃枠
005 リアクション
006 サウンド
007 キャンセル条件
008 色変更
009 オブジェクト発生
010 変数による分岐
011 条件分岐:技中有効
012 条件分岐:基本分岐
013 条件分岐:ランダム分岐
014 条件分岐:コマンド入力
015 スクリプト移動: 移動
016 スクリプト移動: 呼出
017 スクリプト移動: ループ
018 座標・画像変更
019 スクリプト変更
020 スペシャルゲージチェック分岐
021 ライフゲージチェック分岐
022 ゲージ変更
023 パレットアニメ・揺らし
024 停止
025 残像
026 終了
■ テクニック解説
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 ハイジャンプの作成
■ バグ・よくあるミス
Q_A よくあるミスQ&A
001 消せない画像
002 リスト選択とキーボード操作
003 アニメプレビューで落ちる
004 起動直後に落ちる
005 OBJ発生位置がずれる
006 着地すると技終了
007 画面端でのヒットバック1
008 グラデーションが汚い
009 画面端でのヒットバック2
010 境界のアンチエイリアス問題
011 ガードされてもキャンセル可能
012 プレーヤーの読込に失敗
013 謎の残像が発生する
014 コマンドが左右反転する
015 パレット管理でよくあるミス
016 下溜め技が失敗する
017 パレットウィンドウで落ちる
018 コンボが途切れない
019 やられ中にしゃがみ可能
020 ソフトのバージョン表記
021 空中でコマンド左右反転2
022 左右押しでガード前進
023 真空投げが発生する
024 空中でコマンド左右反転3
■ テスト時のチェック項目
■ 解説用データ ダウンロード
033
空ガードの作成
一部の格闘ゲームには空ガードという演出・ルールがあります。
空ガード (からがーど)
相手が攻撃動作をとった時、自キャラが攻撃の届かない位置にいても
方向キー後方面への入力があれば一応ガードのポーズをとる、というルールです。
2D格闘ツクールではこのルールを採用しておらず、
相手が攻撃しているかどうかに関係なく
後方向へ入力している場合、自キャラは「後歩き」の動作をとります。
このページでは、
空ガードのシステムを2D格闘ツクール上で表現する際に
役立つテクニックについて説明したいと思います。
なお、上では空ガードという名前で説明しましたが、
以降の文中では「その場ガード」という名前で説明します。
作成する内容の確認
まずは、今回作成する処理の内容を確認しておきます。
相手が出した飛び道具がこちらに飛んできます。
自分はガードしようとして後方向にレバー入力します。
本来なら格闘ツクールのルールで
自キャラは「後歩き」で後方に下がるところですが、
ここでは、その場に立ち止まってガードのポーズをとります。
飛び道具をガードし終えたら(または別の理由で消滅したら)
レバー後入力で通常の「後歩き」をするようになります。
ここでは説明を簡略化するために、
飛び道具を相手とした場合に限定してその場ガードを行う
というルールで処理を組みます。
飛び道具以外の攻撃についても、ここで説明する処理を応用すれば
十分に実現できる話なので安心してください。
------------------------------------------------------------
処理の組み方
その場ガードの処理を組む上で一番簡単な方法は、
変数を使って処理を分岐させることです。
敵キャラの動作を条件として
自キャラの動作を変化させる
といった処理には、ゲーム全体で参照できるシステム変数が向いています。
今回の話に例えると、
1.敵キャラが飛び道具を出していることを条件として
2.自キャラの後歩きをその場ガードに変える
という処理になります。
以下は今回の処理で使用する画像になります。
後歩き
弱ガード立ち
※上記画像はPNG画像となっています。
ゲーム内に読み込む際はリンク先の画像をBMPに変換して使ってください。
------------------------------------------------------------
以下、具体的な処理の組み方について説明します。
なお、ここでは話を簡略化するため
自キャラと相手キャラの区別を省略しています。
(単純に、場に飛び道具があれば〜という判定になります)
------------------------------------------------------------
1.飛び道具の出現を変数で記録
まずは、1.の処理です。
「飛び道具OBJ」
番号 | 命令 | 設定内容 |
1 | システム変数G=1代入 | |
2 | 攻撃が当たったら、「飛び道具_消滅」へ | |
3 | 防御されたら、「飛び道具_消滅」へ | |
4 | 相殺したら、「飛び道具_消滅」へ | |
5 | 飛び道具の効果音 | |
6 | 色加算モード | |
7 | 前方向に移動 | |
8 | 飛び道具の画像 | |
9 | ||
10 | 前方向に移動 | |
11 | リアクション設定 | |
12 | 攻撃判定 | |
13 | データX座標が100以下なら、19へ | |
14 | データX座標が1200以上なら、19へ | |
15 | ||
16 | 13へ | |
17 | ||
18 | システム変数G=0代入 | |
19 | 飛び道具の画像を一瞬だけ表示する | |
20 |
相手キャラの「飛び道具OBJ」発生時、システム変数Gに値1を入れます。
(変数の番号は自分の環境に合わせて読み替えてください)
システム変数Gの用途
場に飛び道具があれば、値1。なければ、値は0。
また、2〜4ブロック目と13〜14ブロック目では各種条件分岐を置いて
「飛び道具_消滅」へ飛ぶようにしています。
敵に当たったとき、ガードされた時、その他
画面外に移動した時など…漏れが無いよう気をつけて設定してください。
MEMO
「飛び道具OBJ」の画面外消滅
飛び道具の消滅は変数で管理しています。
飛び道具が画面外へ移動した場合もこの変数管理は必要で、
上の例では、飛び道具のX座標をチェックしながら
飛び道具の消滅を判定しています。
処理内容としては、
飛び道具のX座標がステージ端に来たところで飛び道具の表示を消しています。
なお、ステージごとに横幅が違っている場合は、判定を工夫する必要があります。
「飛び道具_消滅」
番号 | 命令 | 設定内容 |
1 | システム変数G=0代入 | |
2 | 色変更をリセット | |
3 | 飛び道具爆発の画像 | |
4 |
飛び道具の消滅時、システム変数Gに値0を入れます。
------------------------------------------------------------
2.自キャラの後歩きをその場ガードに変える
次に、2.の処理です。
自キャラの「後歩き」スクリプト先頭に変数分岐を追加。
システム変数Gが1なら、「その場ガード」へ移動します。
後歩きモーションの各画像手前に分岐を置いておくと、
飛び道具が発生した瞬間その場ガードに変わるのでお勧めです。
上記スクリプトに並んでいる「V」命令は全てこの分岐処理となっています。
「その場ガード」
番号 | 命令 | 設定内容 |
1 | キャンセル不可 | |
2 | 防御枠 | |
3 | ガードの画像 | |
4 |
「その場ガード」では、移動処理を付けずに
ガードポーズの画像と当たり判定を置きます。
キャンセル条件は不可に、技レベルは 0 にしておいてください。
ここで「その場ガード」に置く画像のWAITを小さくしておくと、
ガードを途中でやめるかどうかを細かくコントロールできます。
例えば、ガード直前になってキャラの動作を
ジャンプやしゃがみに変えたい…という場合に有効です。
上の方で用意したガードポーズのグラフィック素材は
複数の画像となっていましたが、その場ガードで使う場合は
1枚のみにしておいた方が見た目に良い動きになります。
その場ガードの仕組みを組むと、キャラ間の距離が開きにくくなります。
このあたりは飛び道具や後タメ入力のコマンドなど、
色々な部分に影響してくるので上手く調節するようにしてください。
長くなりましたが、
以上で空ガードの作成についての説明を終えます。
今回説明した内容について何か気になる点・疑問点などあれば、
掲示板 にて質問を受け付けておりますので気軽にお尋ねください。