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
■ テスト時のチェック項目
■ 解説用データ ダウンロード
023
ヒット数表示の固定
※追記(2012年7月30日)
2D格闘ツクールには攻撃が連続ヒットした際に
そのヒット数を表示する機能があります。
非常に簡単な設定でヒット数の処理が組めて便利ですが、
その半面、表示位置を細かくコントロールすることは難しいです。
このページでは、ヒット数表示をコントロールする例として
ヒット数の表示位置固定 について説明していきたいと思います。
作成内容の確認
まずは、これから作成する内容について確認しておきます。
通常のヒット数表示 です。
攻撃がヒットした場所にヒット数の表示が発生、しばらくして消滅します。
動きとしてはヒットエフェクトの表示に近いです。
( ただし、一般的なオブジェクトとは別扱いのようでPAUSE中も関係なく一定時間経過後に表示が消える )
以下は、 今回作成するヒット数表示 のイメージです。
1P2P両方に「Hit!」の表示が有ります。
実際には 0 〜 1ヒット の表示を行うことはありませんが、
内部的には画面内の決まった位置にずっとヒット数表示が出ていると考えてください。
ヒット数が増えてきたら表示されるヒット数も増えるし、
コンボが途切れてヒット数がリセットされれば表示もリセットされる
という感じで、常にヒット数の監視と表示更新を行います。
MEMO
ヒット数を常駐表示する利点
2D格闘ツクール標準のヒット数表示では、
のけぞり時間の長さに関係なくヒット数の表示時間は共通です。
一方、これから作成する表示処理では
コンボが途切れるまで表示が消えることはないため、
コンボが継続しているかどうかをヒット数表示から判断しやすいです。
特に、動作が遅いキャラのコンボを表現する際に
その違いが出やすいかと思います。
攻撃速度は遅いが、攻撃ヒット時の のけぞり時間も長い。
そんな大振りなコンボを表現するのに適している、
というとイメージしやすいかもしれません。
大まかな流れの確認
ヒット数表示を固定する方法として最初に思いつくのが
「標準のヒット表示を特定の位置までずらす」 というものです。
しかし、ヒット数が複数のパーツで構成されている関係で
この方法ではうまく表示位置を指定することができません。
( 数字が桁ごとに表示されているので、位置コントロールなどが難しい )
ではどうするのかと言うと…
自力でヒット数のカウント及び表示の処理を組みます。
このページでは、2D格闘ツクール標準のヒット数表示の仕組みをなぞるようにして
独自のヒット数表示システムを組んでいく過程を説明していきます。
なお、一度に全ての仕組みを作ろうとすると失敗しやすいので
ここでは いくつかのステップに分けて説明を進めていきます。
大まかな流れは以下の通り。
1. ヒット数表示のパーツ構成を考える 2. 変数値を画面内に表示する 3. 1〜2の処理をテストプレーで確認 4. ヒット数のカウント 5. ヒット数表示処理をテストプレーで確認 |
※上記一覧には、対応する箇所へのリンクを貼ってあります。
内容的には 1〜2 あたりが非常に長く、 3 以降の説明は短いです。
ただ、設定自体は 4 も長くかかる可能性が高いです。
ヒット数カウントのルール決めをすることになるので、
キャラの動作が多かったり、こだわるといくらでも時間がかかります。
1. ヒット数表示のパーツ構成を考える
独自のヒット数表示処理を組む前に、
2D格闘ツクール標準のヒット数表示処理について軽く確認しておきます。
( 今回は標準処理を参考にして処理を組んでいくので、ここは非常に大切です )
ヒット数表示は以下のように幾つかのパーツによって構成されています。
( 詳しくは、チュートリアル030 ヒット数の表示 を参照してください )
これから組む独自処理も同じ構成で作ります。
以下は、今回使用するヒット数表示グラフィックになります。
( 後で標準のヒット数表示と比較するため、既存のヒット数表示とは別のグラフィックを用意しました )
※ゲーム用BMPは上記画像のリンク先にて提供しております。
ヒット数の表示位置が固定の場合、キャラの位置関係によっては
表示の邪魔となるので少し小さめの画像にしてあります。
もうひとつ、非表示処理用に透明画像を用意しておきます。
※ゲーム用BMPは上記画像のリンク先にて提供しております。
なお、画像を読み込む際はエフェクトなどと同じように専用パレットモードで登録してください。
ヒット数表示というとシステム寄りな感じがしますが、
今回はキャラのスクリプト内に画像を登録するので注意してください。
( 共通パレットにすると、キャラ同様にカラー変更の対象となるので注意してください )
2. 変数値を画面内に表示する
1で説明したパーツ構成を基にして、変数の値を表示する仕組みを組みます。
なお、今回はヒット数表示のことを考えて
2桁の変数値まで表示する処理を組みます。
上図では3つのパーツを使っているので、それぞれに対応した行を作成します。
( ヒット数字部分は桁ごとに別パーツとしてカウント )
「キャラクタ」-「技」に移動してください。
ここでは、 「ヒット数文字」 「ヒット数_10の位」 「ヒット数_1の位」
という3行を用意しました。
以下、設定するスクリプトの内容です。
なお、今回の説明ではヒット数のカウント用に キャラ変数D を使っています。
スクリプト解説
「ヒット数文字」
「 Hit! 」 と表示する文字の部分になります。
番号 | 命令 | 設定内容 |
1 | キャラ変数Dが 1以上だったら 4 へ | |
2 | 透明画像 WAIT = 5 | |
3 | 0 へ | |
4 | ヒット文字のグラフィック WAIT = 5、 中心軸 0, 0 | |
7 | 0 へ |
※表中の「0へ」は、「スクリプト行の先頭へ戻る」という意味になります。
後の2つに比べるとシンプルです。
唯一の条件判定として、
「ヒット数のカウントが1より大きいか?」 をチェックしています。
( 日本語的には変ですが、 エディタ上では「1以上だったら」という設定になります )
ヒット数の表示を行うのは2連続以上ヒットした時なので、
カウントが1より大きいかどうかを見ています。
ヒット数のカウントが 0〜1 の場合はヒット文字を表示しません。
なお、表中では触れませんでしたが
数字や文字などのグラフィックを配置する際は
「キャラクターの向きを無視」オプションをONにしておいてください。
ヒット数表示の処理は1P/2Pの両方で行うため、そのまま配置すると
キャラグラフィック同様に2P側で左右反転してしまいます。
これについては、以下に続くスクリプトを作成する際も同様です。
------------------------------------------------------------
「ヒット数_10の位」
番号 | 命令 | 設定内容 |
1 | キャラ変数Dが90以下だったら 4 へ | |
2 | 「ヒット数字9」 のグラフィック WAIT = 5、 中心軸 0, 0 | |
3 | 0 へ | |
4 | キャラ変数Dが80以下だったら 7 へ | |
5 | 「ヒット数字8」 のグラフィック WAIT = 5、 中心軸 0, 0 | |
6 | 0 へ | |
7 〜 24 | … | 1〜3 や 4〜6 のような処理をヒット数字の種類だけ並べる |
25 | キャラ変数Dが10以下だったら 28 へ | |
26 | 「ヒット数字1」 のグラフィック WAIT = 5、 中心軸 0, 0 | |
27 | 0 へ | |
28 | 透明画像 WAIT = 5 | |
29 | 0 へ |
※上記表では、繰り返し部分のスクリプト(7 〜 24ブロック)について省略しています
上の「ヒット数文字」に並べると若干長いですが、
ほとんどは似たような処理の繰り返しなのでスクリプトの難易度はそれほど高く有りません。
スクリプトを組む際は、表中で色分けした部分を1つの分岐パターン・セットとして
見ていくとわかりやすいかと思います。
また、画像の座標設定について…
上記例では全てデフォルト値である ( 0, 0) にしてありますが
ここで画像が中心軸の右下に来るよう配置しておくと、
後でヒット数表示用パーツを画面内に置く際に位置調整が楽になります。
MEMO
条件分岐の並べ方
厳しい条件から緩い条件へ、
という順番で判定している点に注意してください。
例えば、以下のような条件分岐が並んでいる場合
1. 90以上なら…
2. 80以上なら…
1がNoで2がYesの時、変数の値は 80 〜 89 の間と考えることができます。
( 90以上ではないが80以上である、という考え方 )
------------------------------------------------------------
「ヒット数_1の位」
後半部分は上記 「ヒット数_10の位」 と似たようなスクリプトになるので、
コピー&ペーストでスクリプトを複製すると効率的に作業できます。
※ただし、分岐の数値条件やスクリプト移動先などは異なるので間違えないよう注意してください。
番号 | 命令 | 設定内容 |
1 | キャラ変数Dが2以下だったら 34 へ | |
2 | タスク変数Aにキャラ変数Dを代入、値が10以下なら 5 へ | |
3 | タスク変数Aを-10、結果が10以下だったら 5 へ | |
4 | 3 へ | |
5 | タスク変数Aが9以下だったら 8 へ | |
6 | 「ヒット数字9」 のグラフィック WAIT = 5、 中心軸 0, 0 | |
7 | 0 へ | |
8 | タスク変数Aが8以下だったら 11 へ | |
9 | 「ヒット数字8」 のグラフィック WAIT = 5、 中心軸 0, 0 | |
10 | 0 へ | |
11 〜 28 | … | 5〜7 や 8〜10 のような処理をヒット数字の種類だけ並べる |
29 | タスク変数Aが1以下だったら 32 へ | |
30 | 「ヒット数字1」 のグラフィック WAIT = 5、 中心軸 0, 0 | |
31 | 0 へ | |
32 | 「ヒット数字0」 のグラフィック WAIT = 5、 中心軸 0, 0 | |
33 | 0 へ | |
34 | 透明画像 WAIT = 5 | |
35 | 0 へ |
※「ヒット数字_10の位」スクリプト同様、一部処理を省略しています。(前後の処理から読み取るようにしてください)
少々ややこしいスクリプト構成になっていますが、順を追って説明していきます。
1ブロック目では、まず「ヒット数の表示をすべきかどうか?」の分岐を行っています。
ここでヒット数が 0 〜 1 であった場合、34ブロック目の透明画像を表示することになります。
スクリプト前半、2 〜 4ブロック目では 画像表示の条件判定に入る前に
「ヒット数の1の位を取得する」 という処理を行っています。
また、ヒット数カウント用の変数そのものを加工するわけにはいかないので
( 2ブロック目にて ) ヒット数カウントのコピーをタスク変数に持たせている点に注目してください。
3 〜 4ブロック目のループでは
「取得した変数値が10よりも小さくなるまで -10していく」
という処理を繰り返すことで、ヒット数の1の位を取得しています。
例えば、変数の値が33の場合は以下のような動きになります。
33 - 10 = 23、 23 > 10なので処理続行
23 - 10 = 13、 13 > 10なので処理続行
13 - 10 = 3、 3 < 10なので処理完了、残った値は 3
5ブロック目以降では、そうして得られた1の位を基準として
「ヒット数_10の位」と同じような条件分岐を行っています。
※条件分岐の判定に、キャラ変数Dではなくタスク変数Aを使っている点に注意。
ちなみに、ここでは99ヒットを超えるヒット数表示…
カウンターストップについては考えていません。
( 恐らく、 99を表示した後 再び90〜98の表示を繰り返す…という動きになります )
どうしても気になる場合は「ヒット数が99以上の時はずっと9を表示する」
という分岐を追加してください。
MEMO
ヒット表示の表示更新間隔
上記スクリプトでは、各行ともラウンド終了まで表示更新を繰り返すために
ループ構造を組んである、という点に注意してください。
なお、表示更新の速度はヒット表示関連の画像WAIT値によって決まります。
( 画像表示の長さがそのままループ処理の待機時間 = ウェイトとなるため )
WAIT値が長すぎる場合、
間隔の短い連続ヒットが出た際にヒット数の表示更新が遅れやすいです。
一方、WAIT値が短すぎる場合は
コンボが途切れた際、すぐにヒット数の表示が消えてしまいます。
このあたりは、テストプレーを繰り返してうまく調整してください。
後者の問題を回避する方法としては、
「ヒット数をリセットするタイミングを遅めにする」 というのも有りです。
------------------------------------------------------------
ヒット数表示のパーツが揃ったので、次はこれを呼び出す処理を追加します。
スクリプト一覧から「開始時」行に移動してください。
※上記例だと、現時点で既にいくつかの命令が並んでいますが特に問題はありません。
行の先頭に処理を追加すると、既存処理と干渉しにくいです。
行の先頭にオブジェクト発生命令を追加するのですが、
その前に1P/2Pの区別を変数で取得しておいてください。
( 1P/2Pの判別について詳しくは、テクニック025 1P/2Pの判別 を参照してください )
なお、以下スクリプトでは キャラ変数F を1P/2Pの区別用に使用しています。
スクリプト解説
番号 | 命令 | 設定内容 |
1 | 開始時のグラフィック WAIT = 3 | |
2 | キャラ変数Fが1なら 7 へ | |
3 | 「ヒット数文字」を 画面座標( 580, 150) に発生 | |
4 | 「ヒット数_10の位」を 画面座標( 460, 150) に発生 | |
5 | 「ヒット数_1の位」を 画面座標( 500, 150) に発生 | |
6 | 10 へ | |
7 | 「ヒット数文字」を 画面座標( 140, 150) に発生 | |
8 | 「ヒット数_10の位」を 画面座標( 20, 150) に発生 | |
9 | 「ヒット数_1の位」を 画面座標( 60, 150) に発生 | |
10〜 | 通常の開始時スクリプト |
1ブロック目では、WAIT = 3 の画像を表示しています。
これは、1P/2Pの判別・変数取得を待つための待機時間だと考えてください。
MEMO
1P/2P判別のタイミング合わせ
はっきりしたことは言えませんが、ストーリーモードでは
対戦モードよりも1P/2Pの判別にやや時間がかかるようです。
もしストーリーモードその他で判別がうまく出来ていない場合は、
判別処理を待つための待機時間を長めに変えると良いかもしれません。
具体的には、判別用キャラ変数を使う手前で
ある程度のWAITを持った画像呼出命令を置くと良いです。
2ブロック目では、自キャラが1Pか2Pかによってヒット数の表示位置を変えています。
ここでは、以下のようなルールに従って分岐処理を行っています。
キャラ変数が0 = 1Pである( 3〜5ブロック目を実行 )
キャラ変数が1 = 2Pである( 7〜9ブロック目を実行 )
ここで注意しておいて欲しいのが、
自分が1Pの場合は2P側に、
自分が2Pの場合は1P側にヒット数を出している点です。
話がややこしくなるので説明を後回しにしていましたが、
自キャラ側でカウント、表示するヒット数は
「自キャラが連続攻撃を当てた数」ではなく、
「自キャラが連続攻撃を受けた数」。
つまり、お互いに相手側のヒット数表示を行ってあげる形になります。
( 攻撃している側よりも攻撃されている側の方がヒット数をカウントしやすいため )
なお、ヒット数カウント用に使っているキャラ変数は
1P側と2P側で別々の扱いとなるため、
お互いのヒット数カウントがごちゃ混ぜになることは有りません。
各パーツを画面内に配置する
各パーツのオブジェクト発生座標については、以下の図を参考にしてください。
パーツを個別に呼び出しているため、少々わかりにくいかもしれませんが
位置調整のコツはヒット数表示関連の画像サイズを把握しておくことです。
実際、計算だけで思ったとおりの表示内容にするのは難しいので
テストプレーを繰り返して調整を行うことになるでしょう。
これでヒット数表示の処理を画面内に呼び出すことが出来ました。
このままヒット数のカウント処理まで組むことも出来ますが、
色々と複雑な処理を設定したので 一旦ここで 「変数の値表示」 を確認しておきます。
------------------------------------------------------------
テスト用変数処理の追加
テスト用に、変数の値を定期的に加算する処理を追加します。
( あくまでテスト用なので、ここで追加する処理は後でカットします )
「ステージフェイス」行に移動してください。
上記スクリプトを見ると、行内に画像呼出ブロックが設置されています。
まだ画像呼出ブロックを置いていない場合は、なんらかの画像をセットしておいてください。
手ごろな画像が無い場合は以下の画像をお使いください。
※ゲーム用BMPは上記画像のリンク先にて提供しております。
画像呼出ブロックの手前に、変数分岐命令を追加してください。
※命令追加後は、既存命令のスクリプト移動先指定などにずれがないか 調べておくことをお勧めします。
設定内容は以下の通り。
ヒット数カウント用の キャラ変数D を+1しています。
画像のWAIT値を変更
変数処理の設定が済んだら、画像呼出ブロックを選択してください。
例では、画像のWAIT値が 10 になっていますが
ここを若干長めの 30 に変えておきます。
「ステージフェイス」行はデフォルトでループ処理を行うようになっています。
行を1ループ完了するためには画像の表示終了を待つ必要があるため、
「ステージフェイス」行に置いた画像のWAIT値が
そのまま行をループする際の待機時間となります。
( 上記の設定内容だと、30フレームごとに変数値が+1されることになります )
なお、ステージフェイスに複数枚の画像を置いている場合は
うまく長さを調節して合計でWAITが 30 程度になるよう調節すると良いです。
※あくまでテスト用の設定なので、WAIT値自体はあまり気にする必要は無いです。
変数加算の設定が済んだら、テストプレーを実行してみましょう。
3. テストプレーで1〜2の処理を確認
長々と設定を行いましたが、ここでテストプレーを実行します。
1P、2Pともに今回スクリプトを編集したキャラにしておきます。
また、「プレイ方法」は「戦闘から開始」を選んでください。
ゲーム開始。
開始直後、画面には何も表示されていませんが…
左右に「2Hit!」と表示されました。
どんどん数字の表示が大きくなっていきます。
なお、値が99になると それ以降は90 〜 99の表示を繰り返すようになります。
変数自体は100以上の値に増えていくが、
変数表示の仕組みは99までしか設定していないため。
( ちなみに、3桁以上の変数表示もそれほど難しくはないです )
以上の動きが確認できたらテスト成功です。
テスト用に追加した処理をカットして次のステップに進んでください。
4. ヒット数のカウント
いよいよヒット数のカウント処理に入ります。
スクリプト編集の前に、ヒット数カウントのルールを確認しておきましょう。
自分でルールを作るので、非常に凝ったカウントルールを組むこともできますが
今回は2D格闘ツクール標準のヒット数カウントルールに倣って処理を組みます。
2D格闘ツクールでのヒット数カウントルール
<1> 攻撃がヒットした時、カウントを+1 <2> やられ動作が完了するまでに追撃が入らない場合、 カウントをリセット( 0にする ) |
MEMO
カウントリセットの条件詳細
<2>についてですが、正確には
「やられ動作が完了して、各種ニュートラルポーズを通ったら」
がカウントをリセットする条件と言えそうです。
( ニュートラルポーズ = 「通常立ち」や「しゃがみ」などの各種待機動作 )
例えば…
各種やられ動作からコマンド入力で受け身・緊急脱出を行った場合、
キャラはニュートラル動作を通っていないので
ヒット数のカウントリセットは行われません。
そのため、この状態で引き続き攻撃を受けた時、ヒット数のカウントは
さっき受けていたコンボの続きという扱いになります。
------------------------------------------------------------
カウントのルール確認が済んだら、実際に処理を組んでいきます。
<1> 攻撃がヒットした時、カウントを+1
このルールに合わせて、各種やられ動作の先頭に以下の変数分岐命令を追加します。
例では、「ヒット弱 立ち」というやられ動作の先頭に変数加算の命令を追加しました。
<2> やられ動作が完了するまでに追撃が入らない場合、カウントをリセット
各種ニュートラル動作の先頭に以下の変数分岐命令を追加します。
例では、「通常立ち」動作の先頭にスクリプトを追加しています。
その他…「この動作を通った時は必ずコンボを途切れさせる」
という動作があれば、そこにもカウントのリセットを追加してください。
例としては、各種「ダウン動作」や「立ち上がり動作」など。
ただし、やりすぎると「ダウンした瞬間にヒット数表示が消える」などの
問題が発生するので気をつけてください。
ページ前半で述べた通り、やられ動作のパターン数が多いとヒット数のカウントも厄介です。
カウントに抜けがないよう念入りにチェックしてください。
5. ヒット数表示処理をテストプレーで確認
ヒット数カウントの設定が済んだら、テストプレーで処理を確認してみます。
なお、今回は1P側/2P側それぞれの処理を確認したいので
2Pの動作を「プレーヤーが操作」にしてスタートします。
1P側が相手に連続ヒットを当てました。
この時、画面上部を見ると1P側にヒット数が表示されています。
また、2D格闘ツクール標準のヒット数表示と比べてみても、
同じ値が表示されていることがわかります。
※ここで両者のラグが目立つ場合は、上で説明した表示更新間隔を短めに変更すると良いです。
ちなみに、今回作成したヒット数表示はオブジェクトなので
ゲームをPAUSEした際は、きっちり表示が止まります。
( 標準のヒット数表示だと、PAUSEしていても関係なしに一定時間で消滅していたことを思い出してください )
一定時間経ってから、再び連続ヒットを当てると
ヒット数のカウントがリセットされていることがわかります。
( カウントが0からスタートします )
MEMO
ヒット数カウントの比較
今回のように、2D格闘ツクール標準のカウントルールに合わせる場合は
テストプレー時にシステム標準のヒット数も表示しておくと
カウントのずれがないか確認しやすいので便利です。
続いて、今度は2P側のキャラを操作してみます。
2Pが1P側に対してコンボを成功させています。
画面上部では、2P側にコンボ数が表示されています。
以上の結果から、
独自のヒット数表示処理が正しく動作していることが確認できました。
今回は簡単な確認だけで済ませましたが、色々なコンボを行って
ヒット数のカウントに不自然な点がないか確認すると良いでしょう。
まとめ
非常に長い説明となりましたが、処理の考え方・組み方がある程度つかめたでしょうか。
違う処理内容を表現する際も「考え方」自体は応用できると思うのでうまく役立ててください。
今回は説明のしやすさから、ヒット数表示のアニメーションを省略しましたが
このあたりもお好みで追加すると良いでしょう。
以上で、「ヒット数表示の固定」に関する説明を終えます。
なお、今回説明した内容について 何かご不明な点、詳しく聞きたい部分があれば
掲示板 にて質問を受け付けておりますので、気軽にお尋ねください。