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


■ バグ・よくあるミス


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


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


015

ゲームモードによる分岐

ゲームを製作していく上で、
「ゲームのモードに合わせて処理を分けたい」
という場面があるかもしれません。

今回は、
「ゲームモードによる分岐」処理について説明します。
( 手っ取り早く仕組みだけ知りたい場合はこちら )




作成する内容の確認
最初に、今回の説明用に作成する処理について確認しておきます。
今回は…

ストーリーモード( 1Pモード )、対戦モード( VSモード )
表示内容が変化する「キャラクターセレクト」デモを作成します。


例えば、以下のようなイメージになります。
ストーリーモードでは、画面上部に「ストーリーモード」と表示します。


一方、VSモードでは「対戦モード」と表示します。





テスト用「デモ」の用意
まずは、「キャラクターセレクト」デモを用意してください。
( まだ作成していない場合は、こちらを参考にしてください )

デモの用意が出来たら、
ゲームモード表示用のスクリプトを追加します。

以下は、今回のスクリプトで使用する画像になります。
( 上下2枚のグラフィックです )

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

具体的なスクリプトの内容について以下表に示します。

番号 命令 設定内容
1 変数による分岐 システム変数Fが0以上なら4へ
2 画像呼出 「ストーリーモード」のグラフィック
3 スクリプト移動 1へ
4 画像呼出 「対戦モード」のグラフィック
5 スクリプト移動 1へ
※表内にある分岐条件の「〜以上」は格闘ツクールの表記に合わせたものになります。
 実際の意味としては「〜より大きい」なので注意してください。

1ブロック目の変数分岐ですが、
例ではシステム変数Fを使っています。
このあたりは、自分のゲーム環境に合わせて変更してください。

処理内容としては、以下のような感じになります。

ブロック1にて、システム変数から「ゲームモード」情報を取得、
「対戦モード」である場合は、ブロック4に飛びます。
( そうでない場合は、そのままブロック2へ移動 )
ブロック2〜3、ブロック4〜5どちらの場合も
スクリプトの先頭に戻るループ構造になっています。




ゲームモードの判定
ここが、このページのメインになります。
テストプレーでタイトル画面を表示してください。


画面には各種ゲームモードが表示されており、
カーソルを移動して選択するようになっています。

このカーソルの座標を基準にして、
ゲームモードの区別を行うことが出来ます。
今回の例では、各項目が次のように配置されています。
なお、項目の配置座標は「ゲームシステム - 基本イメージ」にて確認することができます。

座標配置から考えて、以下のように判定することができます。

カーソルのY座標<350 なら、 「ストーリーモード」
カーソルのY座標>350 なら、 「対戦モード」

実際のスクリプト内容について説明しましょう。
「ゲームシステム−基本イメージ」に移動してください。

「タイトルカーソル」のスクリプトを以下のように設定します。

番号 命令 設定内容
1 変数による分岐 タスク変数:Aで「データ:Y座標」を取得、値が350以上なら5へ
2 変数による分岐 システム変数Fに0を代入
3 画像呼出 WAIT値は短めに5くらいに設定
4 スクリプト移動 1へ
5 変数による分岐 システム変数Fに1を代入
6 画像呼出 WAIT値は短めに5くらいに設定
7 スクリプト移動 1へ

ここでは、タスク変数を使ってカーソル画像のY座標を取得、
それを基準にしてゲームモードの分岐を行っています。
また…
分岐先では「ゲームモード」情報をシステム変数に記録、
再びスクリプトの先頭に戻るようループ構造にしてあります。
( カーソルは画面上で何度も移動させる可能性があるため )
また、 36 に配置している画像のWAITを小さめにしているのは
上記ループの回転を早くするためです。
( ループの回転が遅いと、システム変数の更新も遅くなるので…問題が発生しやすいです )

設定が済んだら、最後に「デモ」の割り当てを確認します。
「ゲームシステム−基本」を表示してください。

「キャラクター選択1P」「キャラクター選択VSシングル」
両方とも、さっき編集したデモファイルになっていることを確認してください。
※例では、「select」というデモを割り当てています

これで、「ゲームモードによる分岐」の設定が完了です。




処理を確認
テストプレーを実行して、処理を確認してみます。

タイトル画面です。
キーの上下左右入力でカーソルを移動できます。

今回は、1P MODE( ストーリーモード )を選択します。

キャラクターセレクト画面が表示されました。

画面上部には「ストーリーモード」の文字が確認できます。

一方、タイトル画面で2P MODE( 対戦モード )を選択した場合…

画面上部には「対戦モード」の文字が表示されます。

キャラクターセレクト画面からリセット( PAUSEボタン押し )
した場合も問題なく動作します。

これでゲームモードの判定が正しく行われていることが確認できました。




今回のテストでは
「ゲームモードによる分岐」の使用例として、
「キャラクターセレクトでの画面表示を変える」という処理を行いましたが…
これ以外にも様々な場面で活用できると思います。
色々試してみると良いでしょう。

以上で、「ゲームモードによる分岐」の説明を終えます。


トップページへもどる

inserted by FC2 system