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
■ テスト時のチェック項目
■ 解説用データ ダウンロード
020
攻撃判定
「攻撃枠」の作成
攻撃動作のグラフィック設定が済んだので、
次は「攻撃枠」の設定を行います。
MEMO
「攻撃枠」
「攻撃枠」とはキャラクターの攻撃が相手に当たったかどうかを
判定するために設定する当たり判定のことです。
枠の形状は傾きのない四角形になります。
斜めに傾いた当たり判定を作る場合は、
複数の「攻撃枠」を並べて配置することで対応します。
( 「攻撃枠」の管理番号をいじることで、同時に0〜19番まで配置することが可能 )
まずはスクリプトに設定された画像に注目してください。
グラフィックを基準にして、どのタイミングで攻撃判定を発生させるかを決めます。
1枚目のグラフィックでは、
キャラクターはパンチをする前の呼び動作、構えの状態にあります。
この時、攻撃はまだ発生していません。
2枚目のグラフィックでは、
キャラクターが右手でパンチを行っています。
この時、キャラクターの右手には攻撃が発生しています。
なので、この2ブロック目の前に「攻撃枠」を用意します
2ブロック目を右クリックして、メニューから「作成>攻撃枠」を選択します。
1枚目のグラフィック〜2枚目のグラフィックの間に
[R] と [FA] という2つのブロックが挿入されました。
MEMO
[R]というブロックが見当たらない場合は
「オプション」の「攻撃枠作成時、自動的にリアクションも作成」に
チェックがついていない可能性があります。
マウスクリックでチェックをつけた状態にして、再度「攻撃枠」を入れ直します。
※「R」のブロックは、スクリプト上で
「作成>リアクション」を選ぶことで個別に設置することもできます。
「リアクション」ブロックと「攻撃枠」ブロック
追加された2ブロックについて簡単に説明します。
[R]と表示されたブロック
「リアクション」ブロックです。
[FA]と表示されたブロック
「攻撃枠」ブロックです。
キャラの攻撃動作を実現するため、
これら2ブロックに対して設定を行います。
「リアクション」ブロックの設定
「リアクション」ブロックでは、
攻撃が当たった、またはガードされた時の相手の反応( リアクション )を、
相手の状態( 立ち/しゃがみ/空中 )ごとに設定します。
※この設定がないと、攻撃があたっていても相手は無反応のままです。
設定する際は、「ゲームシステム」-「共通リアクション」で定義したものの中から
選択することになります。
合計7種類の状態について、リアクションを割り当てていきます。
[--設定無し--] の部分をクリックして、
表示されるリアクション一覧から対象を選択してください。
以下のように設定します。
ヒット | |
立ち | ヒット弱立ち |
しゃがみ | ヒット弱しゃがみ |
空中 | ヒット弱空中 |
ガード | |
立ち | ガード弱立ち |
しゃがみ | ガード弱しゃがみ |
空中 | ヒット弱空中 |
今回は「空中ガード」を考えないので
「ガード」-「空中」の部分に「ヒット弱空中」を割り当てています。
「空中ガード」有りにする場合は「ガード弱空中」を割り当ててください。
※「キャラクター」-「基本」画面で「空中ガード」をチェックONにすることを忘れずに
「攻撃枠」ブロックの設定
次は「攻撃枠」の設定を行います。
「技」一覧上で[FA]ブロックに移動してください。
この状態で、メイン画面のキャラクターグラフィック上を範囲選択してください。
右手の辺りを覆うように選択すると良いです。
このような感じになりました。
赤い枠の部分が「攻撃枠」です。
この枠の範囲内に後述する( 相手の )「防御枠」が重なると、
「攻撃が当たった」という判定が成立します。
続けて、
「攻撃枠」のプロパティ( 情報欄 )について設定を書き込んでいきます。
「管理番号」
1つのグラフィック内に複数の「攻撃枠」を持たせる際に使用します。
今回は枠を1つだけ配置するのでデフォルト値0のままにしておきます。
「攻撃力」
攻撃が成功した時、相手に与えるダメージの基本値になります。
( 相手側の防御力やダメージ補正によって、実際のダメージは計算されます )
ここでは、ひとまず「攻撃力」 = 10とします。
<攻撃のオプション>
「キャンセル」や「ガード不可」、「削り」属性など
攻撃に関するオプションをON/OFFします。
<攻撃枠の座標>
攻撃枠の座標、サイズについて数値でコントロールできます。
少しわかりにくいですが、
上段の左右2ブロックが「攻撃枠」の 中心座標X,Y、( 左上座標ではない )
下段の左右2ブロックが「攻撃枠」の 縦横サイズになります。
今回は、このように設定しました。
これで攻撃枠の設定がひとまず終わりました。
しかし、このままでは問題があります。
「攻撃枠」のリセット
キャラクターグラフィック3枚目が設定された「画像呼出」ブロック上へ移動してください。
( 「弱パンチ立ち」行の左から5番目、現在右端にあるブロックです )
グラフィックを見ると、キャラはパンチ攻撃を出した後の隙の状態にあります。
この時点で、攻撃は消滅しているはずです。
しかし、画面をよく見ると赤い「攻撃枠」が残っていることが確認できます。
この「攻撃枠」を解除する必要があります。
現在のブロック上で、もうひとつ「攻撃枠」ブロックを作成してください。
このような感じになります。
MEMO
前回と違って、
「リアクション」ブロックは挿入されず「攻撃枠」ブロックだけが配置されます。
「リアクション」設定も、「攻撃枠」同様再設定されるまで設定が生き続ける
ので、同一行内での「リアクション」ブロックの自動挿入は省略されます。
※「リアクション」の再設定を挿入したい場合は、
手動で「リアクション」ブロックを作成してください。
情報欄には、「攻撃枠」のデフォルト値が並んでいます。
「攻撃枠」の縦横が0の状態…これが「攻撃枠」のリセットになります。
( 間違えて攻撃枠の範囲選択をしてしまった場合は、情報欄で縦横の数値を0にしてください )
ここで「管理番号」の数値を見てください。
さっき作成した「攻撃枠」と同じ「管理番号0」です。
この番号が違っていると、正しく「攻撃枠」のリセットが行えないので注意してください。
MEMO
今回は「攻撃枠」の設定、「攻撃枠」の解除を行いましたが、
動作の途中で「攻撃枠」のサイズを再設定する…といったことも可能です。
※最後に「攻撃枠」の解除を入れるのを忘れないよう注意してください
「攻撃枠」のプレビュー
これで「キャラクターの攻撃判定」が完成しました。
「アニメ」ウィンドウで動きを確認してみましょう。
左から2番目にある「枠を表示します」ボタンをONにしておけば
キャラの攻撃枠をプレビューすることができます。
動きが早くてわかりにくいですが、
「攻撃枠」がON/OFFされているのがだいたいわかるかと思います。
「テストプレー」で攻撃動作を確認
同様にして、「テストプレー」実行画面でも確認してみましょう。
「テストプレー」設定画面の「その他」欄で
「当り判定枠」のチェックをONに設定、実行します。
MEMO
「当り判定枠」をONにした状態で「テストプレー」を実行すると
ソフトがバグって落ちることがあります。
その場合は、「当り判定枠」OFFで「テストプレー」を実行、
実行画面上で「当り判定枠」表示のショートカットキー( デフォルトでは"F1" )
を押すと良いでしょう。
Aボタンを入力すると…
キャラが「弱パンチ立ち」の動作をとり、
攻撃の瞬間、キャラの右腕に攻撃判定枠が表示されることが確認できます。
また、画面上部には現在実行しているスクリプト名が表示されています。
スクリプトが変な動きをした場合などは、
このステータス欄を見ることでその原因をある程度予測することができます。
MEMO
画面上部ステータス表示の意味
「当り判定枠」ONでゲームを実行すると、上部に以下のような表示が出ます。
これらステータスの意味については不明な部分が多いですが、
わかっているものを左から順に挙げると…
1. キャラクターの現在体力
2. キャラの体力バー、および 現在実行中のスクリプト名
3. 現在実行しているスクリプトの行番号
4. 現在表示しているブロックの番号( 画像呼出ブロックのみカウント )
を示していると思われます。
4については、かなり特殊な数え方をしています。
スクリプトとスータス表示4の関係を以下に示します。
スクリプト側の位置 | ステータス画面での番号表示 |
「通常立ち」1番目の[I] | 3 |
スクリプト名「前歩き」 | 4 |
「前歩き」の[M] | 5 |
「前歩き」1番目の[I] | 6 |
「前歩き」2番目の[I] | 7 |
スクリプト名「後歩き」 | 8 |
「後歩き」の[M] | 9 |
「後歩き」1番目の[I] | 10 |
「後歩き」2番目の[I] | 11 |
ステータス画面で実際に表示される番号は[I]ブロックのもののみです。
それ以外については、あくまでカウントルールを基にした予想番号です。
ややこしいですが、知っておくとバグチェック時に役立つかも知れません。
現時点では、相手に重なった状態でパンチを出してもヒットしません。
攻撃をヒットさせるためには、
攻撃する側だけでなく、攻撃される側にも設定が必要になります。
次ページでは…
その「攻撃される側の設定」、いわゆる「やられ判定・ヒット判定」について説明します。