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 ハイジャンプの作成


■ バグ・よくあるミス


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


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


026

ライフ減少アニメ


格闘ゲームにはキャラクターやエフェクトなど、ゲームを彩る要素が色々ありますが
ライフゲージなどシステム的な部分にもいくつか見栄えをよくする表現があります。

今回はそういった表現の1つとして、
ライフゲージ減少のアニメーションを取り上げ、
その作成方法について説明してみたいと思います。

MEMO

ライフゲージ減少アニメ

キャラが攻撃を受けたダメージ量を
視覚的にわかりやすく見せる補助的なゲージ。
一連のコンボなどで相手に与えたダメージ量を
確認できるので達成感・爽快感がある。
( 具体的な動きについては、以下「作成する内容の確認」にて説明します )

なお、今回の説明では
対象の処理を表現する効率的な方法ではなく、

対象の処理を表現する非効率的な方法
その非効率的な作業手間を軽減する方法
という形で話を進めていきます。



作成する内容の確認
まずは今回作成する処理について確認します。

キャラのライフゲージが表示されています。

画面上部黄色のバーがライフです。

ここで、キャラがダメージを受けると…

キャラのライフが減少、黄色のバーの下に赤いバーが見えます。

赤色のバーは減少を始めて…

黄色バーのみの表示になります。


スクリプトの仕組み

ライフ減少アニメの大まかな仕組みについて説明します。
ゲーム開始時、キャラの標準ライフバーの下に次のようなバーを配置します。
( 実際はもっと細かいアニメーションになります )

サイズは標準のライフバーと同じ、
ライフ最大の状態からゆっくりとバーが小さくなっていくアニメーションです。
※これ以降の説明では、このバーを裏ライフバーと呼びます。

裏ライフバーのスクリプトは以下のような形となっています。

ライフ減少アニメ用の画像と一緒に
GL ライフゲージチェックの命令が並んでいます。

ライフ減少アニメは1ドットずつのアニメーションを行うので
アニメ枚数は、ライフバーの長さ(ドット数)と同じです。
※処理を工夫してアニメ枚数を節約することも可能ですが、
 ここでは処理のシンプルさを重視しています。


GL命令では現在のライフ値を取得、値が一定以下になるまでアニメーションをストップします。

図で示すと、以下のような感じです。

これによって、上のライフ減少アニメを表現することが出来ます。

例えば…ライフ最大値が100、ライフゲージが100ドットの場合。

初期状態では以下の状態です。
 ライフ値=100
 ライフゲージ=100ドット
 裏ライフ=100ドット


ここでキャラが20のダメージを受けると…
 ライフ値=80
 ライフゲージ=80ドット


この時 裏ライフは100ドットのままですが、ライフ値が80となったことで
100 → 80ドットになるまでアニメーションを進めることが出来ます。



話の流れ

以上が大まかな処理の仕組みです。
内容的にはあまり難しいことはやっておらず、変数の類も1P/2Pの判別で使うのみです。
ただ、少し考えればわかるとおりこの方法は非常にスクリプトが長くなります。

 具体的には…
 ゲージ減少のアニメを1ドット単位で進めるとなると、
 ゲージ画像とライフ判定のセットがライフゲージのドット数分必要となります。

 例えば、ライフゲージの長さが200ドットだとすると
 単純に考えて200×2=400で400ブロックの命令が必要。

ここから先の説明では、
そういったスクリプト編集の手間を軽減する方法を主題として話を進めていきます。

以下は今回説明する内容をステップごとに一覧表示したものです。

裏ライフゲージの画像を用意

作成する画像の詳細

グラフィック作成の作業準備

1枚目のグラフィック作成

グラフィック作成の操作を記録

記録した操作を実行する

作成した画像を一括読込

--------------------------------

ゲージ用スクリプトの作成

ゲージ減少の画像を配置

1ドットあたりのライフ値を計算

1番目のライフ判定を置く

ライフ判定設置の操作を記録

ライフ判定設置の操作を実行

--------------------------------

スクリプト同士をつなぐ

裏ライフゲージの呼出

テストプレーで処理を確認

※上記一覧には各エリアへのリンクが貼ってあります。

なお、今回の説明では2D格闘ツクール以外のツールとして以下のソフトを使用しております。

ドット絵編集ソフトとして、EDGE
各種表計算用ソフトとして、Microsoft Excel
操作記録用ソフトとして、UWSC




裏ライフゲージの画像を用意

まずは、ライフ減少のアニメを表現するためのゲージ画像を用意します。
作成する画像の枚数=ライフゲージの長さ(ドット数)なので、
今回はゲージ画像をダウンロード提供するのではなく、作成方法のみを伝える形となります。
※ベースとなる画像は下で提供します。

なお、ここではドット絵ツールと操作記録ツールを使った方法でグラフィックを作成します。
何か別の方法でゲージ画像を用意できる場合はそちらを使っても問題ありません。
(ゲージ画像作成の説明を飛ばす場合は こちら )



作成する画像の詳細

今回は、以下のような画像をベースとしてゲージのグラフィックを作成します。

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

ゲージのサイズは、横250×縦20ドット。
画像全体のサイズは、横250×縦22ドットです。

上端の1行は、透明色用の黒部分です。
その下の1行は、ゲージ画像の横幅を維持するための固定エリア、
そこから下が実際のゲージ部分となります。

MEMO

画像の横幅を維持する理由
2D格闘ツクールで読み込んだ画像は、
そのサイズによって中心軸の位置が決まります。

このままだと、ゲージ画像の位置合わせが困難です。

ここで、ゲージ画像の幅が一定で維持されていると…

画像の中心軸が一定であるため、位置合わせの手間が不要です。

 データ量的に若干の無駄はありますが、
 無視できるレベルのものなので気にする必要はありません。


作成する画像をアニメーション表示すると、だいたい以下のような感じになります。
※実際のアニメーションよりもコマ数を落としています。

横幅を維持するための1行が目立ちますが、
ここはゲージの枠に隠れるよう位置合わせします。



グラフィック作成の作業準備

グラフィック作成の自動化に必要な各種準備をしておきます。

ファイル名指定用の表作成
画像ファイルを保存する際の名前を一覧として作成しておきます。
この一覧があれば、ファイル名をつける作業を自動化することが出来ます。

2D格闘ツクールのフォルダ一括(画像)読込を使う際に
順番のずれが発生しないよう連番名をつけます。
※ファイル保存後に連番名に変える方法もありますが、
 今回はファイル保存時に連番名をつける方法をとります。


 連番名でない場合…
 単純に先頭の数字基準で並び順を判定するため、
 20 101 というファイルが並んだ場合に
 101 → 20 という順に読み込んでしまいます。
 ( 先頭の数字が2>1なので、101の方を先に読みます )

表計算ソフト(ここではMicrosoft Excel)を起動してください。

※これ以降、表計算ソフト=Excelとして説明を進めます。

画面が表示されたら、画面左端A列を列選択して
マウス右クリックメニューからセルの書式設定をクリックしてください。


セルの書式設定画面が表示されました。

表示形式タブ内の分類一覧から文字列を選択、OKをクリックしてください。

 ここで書式を変えておかないと、0000 → 00001 → 1 のように
 入力内容が自動変換されてしまうので注意してください。

書式の変更が済んだらA1セルを選択、0000と入力してください。


入力が済んだら、セル右下の黒い部分にマウスカーソルを合わせて…

そのまま下方向へドラッグしてください。

上から順に0000、0001、0002…と値が並んでいきます。

作成する画像の枚数に合わせて終端を決めてください。
(今回はゲージの横幅が250ドットなので適当に0300あたりまで伸ばします)

連番用ファイル名の一覧が作成できました。

このデータは後で使うので、保存しておいてください。
例では「ファイル名一覧表」という名前で保存しました。

以上でグラフィック作成の準備が完了です。



1枚目のグラフィック作成

ファイル名一覧表は開いたままで、ドット絵編集ソフト(ここではEDGE)を起動してください。

※これ以降の説明ではドット絵作成ソフト=EDGEとして説明を進めていきます。

上で用意したゲージ用ベース画像を開いてください。


ファイルを開いたら、画像の上端2ドットを端から端まで選択してください。

※画像を拡大表示しておくと選択しやすいです。

上部メニューから「選択範囲」−「選択範囲の反転」を選択します。

選択範囲が反転され、画像のゲージ部分を選択した状態になります。

上部メニューから「ファイル」−「名前をつけて保存」を選択します。

ファイルの種類がBMPになっていることを確認してください。
なお、ファイル保存のショートカットキーを作成しておくと
後々の作業がスムーズに進むのでお勧めです。

今回は画像をフォルダ一括読込したいので、ゲージ画像用のフォルダを用意しておきます。

例では、「ゲージ減少アニメ」というフォルダを作成しました。

ファイル保存の画面を表示したまま、
キーボード:Alt + Tabキーを押してExelに切り替えてください。

ファイル名一覧が表示されたら、A1セル(0000)にカーソルを合わせます。

そのままの状態でCtrl+Cで値をコピー、再びAlt+TabEDGEに戻ります。

まだファイル名保存の画面が表示されたままとなっているので
ファイル名入力欄を選択してからCtrl + Vで値0000をペースト、
エンターキーを押してファイルを保存します。
※ファイル保存後に画像の範囲選択を解除してしまわないよう注意してください。

これでゲージ画像の1枚目(ファイル名0000)が用意できました。
ここから先では、ツールを使って作業を自動化します。



グラフィック作成の操作を記録

これからゲージが左端から徐々に減少していくアニメーション用に大量の画像を作るのですが、
1枚1枚を手作業で作ると非常に手間がかかるので、ツールを使って作業を自動化します。
※なお、今回作成するゲージ画像は1P側を想定した動きとなっています。
 2P側はこれを左右反転表示して配置します。


上と似たような作業を操作記録ソフトで記録します。
操作記録ソフト(ここではUWSC)を起動してください。

※これ以降では、操作記録ソフト=UWSCとして説明を進めていきます。

現在起動しているソフトはEDGE、Excel、UWSCの3つです。
他のソフトが起動中していると操作がややこしくなるので、
それらを終了しておくことをお勧めします。
※なお、UWSCのオプションで「余分な時間の記録を省略」をONにしておくと
 自動処理時の実行時間が短くなるのでお勧めです。


------------------------------------------------------------
記録を始める前に、各種ソフトの状態を確認しておきます。

まずはドット絵編集ソフトのEDGEです。

現在、画像の上端2行を除いた部分が選択されています。

次は表計算ソフトのExcelです。

現在、セルA1(0000)が選択されています。


以上が確認できたら、再びEDGEに移動してください。

ここから操作スタートです。

キーボード:Alt + F3キーを押して、UWSCの記録を開始してください。
※UWSCが画面上から消えます。

EDGEの画面上で、キーボードのカーソル→を押してください。
( ツール選択は、何を選んでいても構いません )

選択範囲が右方向に1ドット移動、移動後の空白部分が背景色(ここでは黒色)になります。

メニューから名前をつけてファイルを保存を選択してください。

ファイル保存ダイアログが表示されたら、
Alt + TabキーでExcelの画面に切り替えます。
※この時、ファイル名の選択状態を解除しないよう気を付けてください。

現在、セルA1(0000)がアクティブになっているので
キーボードのカーソル↓を押してセルA2(0001)に移動してください。

カーソルが移動したら、そのままCtrl + Cで内容をコピー、
Alt + Tabで再びEDGEの画面に戻ります。

まだファイル名の入力欄がアクティブになっているので
Ctrl + VでセルA2の値0001をペースト、
そのままエンターキーでファイル保存を確定します。


以上で一連の操作が記録完了です。
キーボード:Alt + F2キーを押して、UWSCの記録を終了してください。
※非表示になっていたUWSCの画面が復帰します。

UWSCのメニューから「保存」を選択、
ここまでの操作記録をファイルとして保存しておきます。

例では、「ゲージ画像作成」と言う名前で保存しました。



記録した操作を実行する

上で記録した操作を指定回数繰り返します。
UWSCのメニューから「読込」を選択してください。


さっき保存したファイルを選択、実行回数を入力します。

実行回数は作成する画像の枚数から計算してください。
ただ、実行回数が多すぎた場合も不要な分を削除すれば良いので
実際はおおまかな値で構いません。
※なお、Alt + F2でUWSCの実行を停止することも可能なのでこちらも覚えておくと良いです。

今回は横幅250ドットのゲージ画像で、現在までに2枚の画像を作成済みなので
実行回数は251−2で249回となります。
( ここでは、残りゲージ0の画像も用意するので1枚分多くなっています )

ファイルの読込が済んだら、
操作実行に適した状態にするためEDGEの画面に移動してください。

移動が済んだら、いよいよ繰り返し処理の実行です。
キーボード:Alt + F1を押してください。

UWSCによる自動操作が始まります。

処理にはしばらく時間がかかります。
実行中にPCを操作すると処理の邪魔になるので、
処理停止する場合を除いてPCは出来るだけ触らないようにしてください。

------------------------------------------------------------
画像の確認
繰り返し処理が済んだら、保存されたファイルを確認してみましょう。

保存フォルダ(ここでは「ゲージ減少アニメ」フォルダ)を見ると、たくさんのグラフィックが並んでいます。
各ファイルには連番名を振ってあるので順番が崩れる心配もありません。



作成した画像を一括読込

これで裏ライフゲージ用の画像を用意することができました。
次は作成した画像を2D格闘ツクールに読み込みます。

 なお、今回作成するライフ減少アニメはシステムではなく
 キャラデータの方に画像を読み込みます。

今回は画像のフォルダ一括読込という機能を使うのですが、その前に準備が必要です。

------------------------------------------------------------
画像番号の隙間をなくす
画像読込後のスクリプト作成を自動化するには
一連の画像が連続した画像番号に登録されている必要があります。

フォルダ一括読込で読み込まれた画像は、
画像番号の小さい順に空いている番号に登録されていくため
画像番号に細分化された隙間があると都合が悪いわけです。

イメージ的には上図のような感じです。
画像番号を0番から順番に表示して、
一連のゲージ画像の登録に適したスペースがあるか確認してください。
なお、画像番号の隙間をなくすには一時的に仮の画像を登録するのが有効です。
( サイズの小さい画像であればデータ量も少なくて済むのでお勧めです )

------------------------------------------------------------
フォルダ一括読込
画像番号の整理が済んだら、いよいよ画像の一括読込です。

画像の読込ウィンドウを表示してください。

これから読み込むゲージ画像はシステム的な要素が強く、
キャラのカラー変更の対象にしたくないので
「専用パレットを使う」ボタンをONにしておきます。

画面右上にあるフォルダ一括読込ボタンを押します。


フォルダ指定の画面が表示されるので、
ゲージ画像を保存したフォルダを選択、OKを押します。

ここでは、「ゲージ減少アニメ」フォルダを選択しました。

フォルダの選択が済むと、画像の一括読込が始まります。
読込ウィンドウ内に表示されるゲージ減少のアニメーションを眺めながら
読込処理の完了を待ちます。

------------------------------------------------------------
画像の確認
読込が済んだら、登録された画像を確認してみましょう。

テスト用に画像呼出命令を置いて画像を表示してみました。
一連のゲージ減少アニメが連続した画像番号に登録されていることが確認できました。

以上で画像の登録が完了です。



ゲージ用スクリプトの作成

画像の登録が済んだので、これらを表示するスクリプトを用意します。

「キャラクター」−「技」に移動したら、
「ゲージ減少アニメ」というスクリプトを新規作成してください。


これからこの行にスクリプトを並べていくのですが、
ここで注意するのがスクリプト1行に置けるブロック数の制限です。

2D格闘ツクールには、
「1行に置けるブロックの数は255個まで」というルールがあります。

裏ライフゲージ(ゲージ減少アニメ)のスクリプトでは
画像呼出ライフチェックという2種類の命令を交互に並べていきます。

今回作成するゲージ画像は250ドットの幅なので、アニメーションの枚数は251枚。
これら全てを1行に配置することはできないので、 3つの行に分けて処理を組みます。
図で表すと、以下のような感じになります。

3つの行をスクリプト移動命令でつないでいる点に注目してください。

上図の通り、スクリプト行を2つ追加しました。

ここでは、それぞれ「┗ゲージ減少2」「┗ゲージ減少3」という名前をつけました。

今回は以下のような感じで画像を配置します。
「ゲージ減少アニメ」に100枚
「┗ゲージ減少2」に続きの100枚
「┗ゲージ減少3」に最後の51枚



ゲージ減少の画像を配置

スクリプト編集を開始します。
「ゲージ減少アニメ」行に移動してください。


スクリプト編集でも、操作の記録ツールを活用して作業を自動化します。
まずは繰り返し作業の準備しましょう。
( 主に、コピー&ペーストの作業を自動化するので、コピー元となるブロックを用意します )

画像呼出命令を配置、1枚目のゲージ画像を表示してください。

ゲージ画像が表示されました。

まずは画像の座標を設定します。
中心軸の左下にゲージの根元(右端)が来るように配置しておくと、
位置ズレの確認がしやすいのでお勧めです。

調整が済むと、だいたい上のような位置になるかと思います。

次に設定するのが画像のWAIT値です。
この値が大きくなればなるほど、ゲージ減少アニメのスピードは遅くなります。

 合わせてゲージ減少を開始するタイミングも遅めになります。
 ただし、ループ処理なのでゲージ減少を開始するタイミングは
 一定ではない…という点に注意してください。
 
 例えば、
 ライフチェック直前にダメージを受けた場合は、その直後にライフ減少アニメが開始…
 逆にライフチェック直後にダメージを受けた場合は、
画像を1ループ分表示してからアニメーション開始となります。

大量の画像を配置してからの調整はめんどうなので、
この段階で最良のWAIT値をしっかり決めておいてください。
( ちなみに、作業自動化のテクニックを応用すれば、後々のWAIT値変更も不可能ではありません )


ここでは、画像のWAIT値を10に設定しました。

以上でコピー元のブロックが準備できました。

------------------------------------------------------------
コピー&ペースト操作の記録
ここから、再び操作記録ツールの出番です。
画像ブロックをコピーして、画像番号を1つ進める という一連の操作を記録します。

 なお、今回の操作では2D格闘ツクール用のショートカットキーを使用します。
 対応キーを変更している場合は、自分の設定に合わせて読み替えるようにしてください。

まずは記録する前の準備として、
2D格闘ツクール内で「ゲージ減少アニメ」スクリプトに移動、
カーソルを行先頭に置いたブロック上に合わせておきます。

UWSCを起動してください。
前回同様、キーボード:Alt + F3で記録を開始します。

なお、今回の操作ではソフトの切り替えを行わないので
その他ソフトは起動したままでOKです。

以下、記録内容です。


キーボード:Ctrl + Cで現在のブロックをコピーします。


キーボード:テンキー6でカーソルを1つ右に進めます。


キーボード:Ctrl + Vでコピーしたブロックをペースト(貼り付け)します。


マウスカーソルを画像番号入力欄に移動して、1回左クリックします。

これによって画像番号が+1されます。
※画像番号1の位あたりにマウスカーソルをうまく合わせてください。


以上で記録完了です。
キーボード:Alt + F2で記録を終了してください。

記録内容をファイルに保存しておきましょう。

例では「画像ブロックコピー」という名前で保存しました。

------------------------------------------------------------
記録した操作の実行
記録した操作を指定回数実行します。
さっき保存したファイルを読み込んでください。

実行回数についてですが、今回は「ゲージ減少アニメ」行に
残り98個の画像ブロックを配置したいので、98回としました。

2D格闘ツクールのカーソルが下図の位置にあることを確認したら…

キーボード:Alt + F1で処理を開始してください。

処理完了までには多少時間がかかると思うので、のんびりしましょう。
※PCの処理を邪魔しないよう、キーボードやマウスには触らないでください。

------------------------------------------------------------
処理実行後の確認
処理が完了しました。
画像呼出ブロックがずらっと並んでいます。

内容を確認してみると、1つずつ画像番号が進んでいることがわかります。
アニメプレビュー画面でも確認してみましょう。

これで「ゲージ減少アニメ」行の画像が用意できました。
同様にして「┗ゲージ減少2」「┗ゲージ減少3」行にも画像を配置してください。
( 前の行のラストにあったブロックをコピーして続きを作っていくと良いです )

3行に画像呼出ブロックが並びました。

内容を確認して問題が無ければ、次のステップに進んでください。



1ドットあたりのライフ値を計算

ここからライフチェック命令を並べていくのですが、
まずは1ドットあたりのライフ値を計算する必要があります。

今回、ゲージ画像の長さは250ドットです。
ライフ値が250だと、ライフ値1 = 1ドットという関係に…
ライフ値が1000だと、ライフ値4 = 1ドットという関係になります。

上のような設定だと楽なのですが…
キャラによってはライフ値571など、割り切れない値を設定することもあります。

今回は、あえて割り切れないライフ値を基準とした場合を
想定してライフチェック分岐の設定を進めていきます。


「キャラクター」−「基本」に移動してください。

今回、キャラのライフ最大値は571に設定しています。

1ドットあたりのライフ値は571÷250という計算で得られます。
結果はだいたい2.2 〜 2.3くらいになります。

------------------------------------------------------------
表計算ソフトでライフ値の一覧を作成

エディタでの値設定を自動化するため、一連のライフ判定値を表計算ソフトで計算してみます。

Excelを起動してください。


画面左上、A1セルにライフゲージのドット数250を入力します。


1つ下のセルA2に249を入力したら、
上で説明した方法で250 〜 0までの値をA列に並べます。


次に、セルD1に移動してください。
ここに今回設定するキャラのライフ値である571を入力します。


次はセルB1です。
ここには、以下の式を入力します。
=ROUND($D$1/250*A1,0)

上の式では次のような計算を行っています。
セルD1の値(キャラのライフ値)をライフゲージのドット数である250で割って、
1ドットあたりのライフ値を取得。
これにセルA1の値(ドット数、ここでは250)をかけることで、
ゲージドット数に対応したライフ判定値を取得。
こうして得られた値を四捨五入しています。

 ここで数値切捨てなどにしていると、
 裏ライフゲージが標準のライフゲージからはみ出すなど
 色々と表示に問題が出るので気を付けてください。

数式の入力が済んだら、エンターキーで確定します。

D1セルには計算結果である571という値が表示されました。

ここで、再びカーソルをB1に合わせて
A列同様にセルB1の値を下の方へ引っ張っていくと…

B列にずらりと計算結果が並びました。

------------------------------------------------------------
スクリプトで使用するライフ判定値を用意することが出来ました。
得られた表をファイルとして保存しておきましょう。

ここでは「ライフ判定値一覧」という名前で保存しました。

なお、セルD1に入力した値を変えることで
別のライフ最大値を基準とした判定値を出すことも可能です。
キャラのライフ値を変更する場合や、別のキャラを編集する際に活用してください。



1番目のライフ判定を置く

画像ブロック同様、ライフ判定も設置を自動化します。
まずはその元となるブロックをスクリプトに追加しましょう。

「ゲージ減少アニメ」行に移動してください。


スクリプト2ブロック目に移動して、GL ライフゲージチェック分岐命令を置いてください。

詳細設定画面が表示されます。

ここでは、「ライフゲージ250ドット」「ライフゲージ249ドット」を分ける
ライフ条件を設定することになります。

Excelのライフ判定値一覧を表示してください。

上で説明した条件に合わせて、セルB2に入っている値をコピーしておきます。

再び2D格闘ツクールの画面に戻り、条件設定のライフ値入力欄をクリックします。
( ここでは入力欄をアクティブにするのが目的なので、左クリックでも右クリックでも構いません )


その状態で、エンターキーを押すと…

数値入力欄が表示されるので、
キーボード:Ctrl + Vでコピーした値をペースト、OKボタンを押して入力を確定します。
※コピー元のセルに入っているのは数式だが、ペーストされる値は計算結果の数値…というのがポイントです。

その下にある条件文は、デフォルトである少ない場合のままにしておきます。
( 今回は、ライフ値が一定値以下の場合にゲージ減少アニメが進行する…という設定のため )

次は「条件不成立時」入力欄です。

ここでは、上で設定した条件を満たさない場合のスクリプト移動先を指定します。

今回は、ライフ値が一定値以下でなかったらゲージアニメが進まない
という設定なので、飛び先にはこのブロックの1つ手前を指定します。


以上で、コピー元となる1番目のライフ判定が完成です。



ライフ判定設置の操作を記録

ライフ判定をコピー&ペーストして並べていく処理を記録します。
記録を開始する前に準備をしておきましょう。

2D格闘ツクール:

さっき作成したライフゲージ判定ブロックの上にカーソルを合わせておきます。

Excel:

さっき値をコピーしたセル(例ではセルB2)の上に
カーソルを合わせておきます。

その他:
UWSCを起動します。
今回はソフト切り替え操作もあるので、
邪魔にならないよう他のソフトは終了しておくと良いでしょう。

------------------------------------------------------------
準備が出来たら2D格闘ツクールの画面に移動してください。
キーボード:Alt + F3で記録開始です。


キーボード:Ctrl + Cでライフ判定ブロックをコピーします。


キーボード:テンキー6を2回押してカーソルを移動、

キーボード:Ctrl + Vでライフ判定ブロックをペースト(貼り付け)します。


ここでキーボード:Alt + Tabを押して、画面をExcelに切り替えます。

現在、セルB2にカーソルが合わせてあるので
キーボード:カーソル↓を押して、1つ下のセルに移動します。


ここでキーボード:Ctrl + Cを押してセルの値をコピー、
Alt + Tabで再び2D格闘ツクールに戻ります。

マウスカーソルをライフ値入力欄に合わせてクリック、
その状態でエンターキーを押して数値入力欄を出します。


ここでキーボード:Ctrl + Vを押してセルの値をペースト、
OKボタンをクリックして入力を確定します。

※エンターキーで数値を確定しようとすると失敗するので注意してください。

条件不成立時の飛び先指定について、
行指定はそのままでブロックの指定のみ変更します。

現在はコピー元と同じブロックが指定されているので、
2回マウス左クリックして、値を+2してください。

※この時、マウスカーソルの位置がずれないよう注意してください。
 入力欄の1の位に合わせるのがポイントです。


以上で一連の操作が完了です。
キーボード:Alt + F2で記録を終了してください。

記録した操作はファイルに保存しておきます。

ここでは、「ライフ命令設置」という名前で記録しておきました。



ライフ判定設置の操作を実行

上で記録した操作を実行します。
読込ボタンからファイルを選択してください。

実行回数について…
この行では残り98個のライフ判定を置きたいので、実行回数は98回としておきます。

各ソフト、正しい位置にカーソルがあることを確認したら
キーボード:Alt + F1で処理開始です。

処理中は、数値入力欄の表示にやや時間がかかるかと思いますが
じっくりと処理の完了を待ちましょう。

------------------------------------------------------------
処理が完了しました。

設置された命令の内容に問題が無いか確認してください。

同様にして、「┗ゲージ減少2」「┗ゲージ減少3」行にもブロックを追加してください。
※各行での処理実行回数の違いに注意してください。

3つの行にライフ判定命令が追加されました。

ここで、一番最後の判定が「ライフが0より小さい時〜」となっている場合は
「ライフが1より小さい時〜」に書き換えておきます。
( ライフが0になることはあっても、0より小さくなることはないため )


スクリプト同士をつなぐ

3つの行が準備できたので、これらが1つの行として機能するようつなぎます。

「ゲージ減少アニメ」行のラストにスクリプト移動命令を置いてください。

移動先は、「┗ゲージ減少2」行です。

同様にして、「┗ゲージ減少2」「┗ゲージ減少3」もつなぎます。



以上で、裏ライフゲージ(ゲージ減少アニメ)の処理が完成です。



裏ライフゲージの呼出

ゲージ減少アニメの設定が済んだら、
仕上げとしてこれを画面内に呼び出す処理を用意します。

「開始時」行に移動してください。


ゲーム設定によって既に色々と命令が並んでいたりしますが、
ここにOBJ呼出命令を置いてください。

呼び出すOBJは、「ゲージ減少アニメ」
画面座標指定で標準ライフゲージの位置から、
1ドット根元よりにずらして発生するよう調整します。
( ライフゲージ判定では大小しか判定できないので、=になる条件を避けます )
奥行き指定は手前、もしくは81以上の値を指定してください。

 キャラクターのグラフィック表示が奥行き70 〜 80なので、
 それより手前になるよう大きめの値を設定します。

1P/2Pの処理分けがある場合は、1P側、2P側それぞれにOBJ発生命令を置きます。
この時、2P側ではゲージが左右反転するので画面座標の指定に注意してください。
なお、1P/2Pの判別処理について詳しくは  を参照してください。

以上、全ての設定が済んだらテストプレーで処理を確認してみます。



テストプレーで処理を確認

テストプレーでライフゲージ減少アニメの動作を確認してみます。
ゲーム開始。

画面上では確認できませんが、

標準ライフゲージと同じ長さのゲージが1P・2Pの両方に表示されています。

ダメージを与えてみると…

2P側標準ライフゲージの下に赤いゲージが見えました。


しばらくすると…

赤いゲージは減少、黄色ゲージのみの表示に戻りました。

 ここでゲージ減少中に追加ダメージを与えると、標準ライフが減少するので
 裏ライフゲージ減少の終着点が伸びる感じになります。


同様の処理は1P側でも確認できます。


以上の結果から、
ライフ減少アニメが正しく動作していることが確認できました。

なお、今回は説明簡略化のために
特殊な処理などは避け、シンプルなゲージアニメを作成しましたが
作成するゲーム内容に合わせて色々処理を変更・追加することもあると思います。
その際は、このページで説明した手間の軽減テクニックなどを上手く活用してください。



まとめ

2D格闘ツクールに用意された1つ1つの命令は
わかりやすさを重視して作られたためか、単純で低機能なものが多いです。
※ここで言う低機能とは、「性能が低い」という意味ではなく
 シンプルな機能に絞られている、といった意味です。


そのため、凝った処理を組もうとすると単純な命令をいくつも並べることになります。
普通に考えれば、その回りくどさから「間違った方法」扱いになりますが
作業手間を除けば、決して間違った方法とも言えません。
そういった意味で、今回説明した作業の自動化テクニックは
処理を組む上で役立つ 1つの選択肢と言えるかもしれません。
(例えば、このページの編集も面倒な部分は自動化しています)



以上、非常に長くなりましたが「ライフ減少アニメ」 に関する説明を終えます。
なお、今回の内容について何かわからない点・質問などあれば
掲示板にて受け付けておりますので、気軽にお尋ねください。


トップページへもどる

inserted by FC2 system