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


■ バグ・よくあるミス


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


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


043

相手によって動作変更

一部の格闘ゲームにはキャラ間の掛け合い演出をはじめとして
特定のキャラが相手の時限定の演出などがあります。

ゲーム内にこういったイベントが用意されていると、
プレーヤーにはそれらを探す楽しみが出来ます。
また製作者側から見ると、格闘ゲームの部分だけでは
語りづらいキャラの性格などを見せる場ともなります。

このページでは、2D格闘ツクール上でそれら
キャラ限定の処理を組む方法について説明したいと思います。



作成する内容の確認
まずは今回作成する処理の内容を確認しておきます。

ここでは、相手キャラに合わせて開始時のポーズを変える という処理を作成します。

相手が自キャラとは別のキャラである場合…
※左が自キャラ、右が相手キャラです。

自キャラは通常の開始時ポーズを取ります。

相手が自キャラと同じキャラ、つまり同キャラ対戦の場合…

専用の開始ポーズ( ここでは驚きの動作 )をとります。
また、相手キャラ側も条件は同じなので専用の開始ポーズを行っています。

------------------------------------------------------------
以下は今回の処理で使用する開始時動作のグラフィックです。
通常時


同キャラ時

※上記画像はPNG画像となっております。
 ゲーム内に読み込む際はBMPに変換してください。




スクリプト作成の準備
大まかな仕組みとしては以下のような感じになります。

1P・2Pそれぞれのキャラ選択を変数に記録し、
その変数値を基準として開始時の処理を分岐させる。


------------------------------------------------------------
1P側・2P側の使用キャラ把握
以下のように、キャラに変数を割り当てることで
どのキャラを使っているかをチェックできるようにします。

なお、ここでは1P/2P間を越えて変数値の取得を行うため、
キャラ変数 ではなく システム変数 を使用します。
また、この処理では1P/2P判別のテクニック を使います。
スクリプトを作成する前に、あらかじめ判別処理を用意してください。
※1P/2P判別のテクニックについて、詳しくはこちらのページを参照してください。

ここでは1P側・2P側別々に記録するため、システム変数を2つ使用します。
まずはどの番号の変数を使用するか決めておいてください。
例では、1P側をシステム変数I、2P側をシステム変数Jで記録します。

MEMO

変数を節約したい場合
このページでは、後々キャラ把握の処理をフル活用することを
前提として1P/2P別々に変数を記録しています。

 「同キャラ対戦なら」を条件とした判定だけなら、
 もっとシンプルに構成することも恐らく可能です。


ただ、場合によってはそこまでキャラ判別を駆使する予定は無く
ちょっとしたネタ的に使いたいだけ、ということも有るかと思います。

そういった場合は、1P・2P側で共通のシステム変数に
値を加算するようにしてください。
キャラごとに加算する値を 1,2,4,8,16…
といった感じに2の乗数で統一しておけば
変数1つでお互いのキャラ選択状態を把握することが出来ます。

 例えば、
 合計値=32なら、お互いに値16のキャラを使っている。
 合計値=12で、自キャラ=値4のキャラなら相手は値8のキャラ。

 2の乗数による組み合わせパターン把握は
 色々と便利なので覚えておくと良いでしょう。

システム変数はゲームを終了させるまで値が維持されるので、
対戦開始直後に値をリセット(0代入)しておくことを忘れないようにしてください。


スクリプトの作成
開始時スクリプトに移動してください。

他のテクニック解説の関係で処理がごちゃごちゃしていますが、
ここからは行末の画像呼出命令をベースとして処理を追加します。
( 今は行に画像呼出命令が1つだけ並んでいる、とイメージしてください )

まずは自キャラの選択状態をシステム変数に記録します。
自キャラが1Pならシステム変数Iに、
自キャラが2Pならシステム変数Jに値を記録します。

なお、ここでは1P/2Pの判別をキャラ変数Fで行っています。
※キャラ変数F=0なら1P、キャラ変数F=1なら2P


番号 命令 設定内容
1 開始時の基本ポーズ、WAIT=2
2 キャラ変数F = 1なら、5
3 システム変数I = 1代入
4 6
5 システム変数J = 1代入
6 開始時の基本ポーズ、WAIT=2
7  

1ブロック目で表示時間の短い画像呼出命令を置いています。
これは、別行で行っている1P/2P判別処理 の完了を待つために用意したものです。

ラストに画像呼出命令を置いていますが、
ここが「開始時動作」 のメイン部分になります。

------------------------------------------------------------
次に、開始時動作の分岐処理を組みます。
「相手がどのキャラを使っているか?」 を知るためには、
「相手が1Pか2Pか?」 を知る必要があります。
そこで、ここでは自キャラが1Pか2Pかの判定の後に分岐の処理を追加することにします。


番号 命令 設定内容
1 開始時の基本ポーズ、WAIT=2
2 キャラ変数F = 1なら、7
3 システム変数I = 1代入
4 開始時の基本ポーズ、WAIT=2
5 システム変数J = 1なら、11
6 19
7 システム変数J = 1代入
8 開始時の基本ポーズ、WAIT=2
9 システム変数I = 1なら、11
10 19
11〜17 同キャラ対戦用の開始時動作
18  
19〜23 通常の開始時動作
24  

※色付きの部分が今回追加した処理になります。

処理内容をまとめると、以下のようになります。
自キャラが1Pの場合は、相手キャラ=2Pの変数値をチェック。
同キャラなら専用の開始時動作、別キャラなら通常の開始時動作へ。

自キャラが2Pの場合は、相手キャラ=1Pの変数値をチェック。
同キャラなら専用の開始時動作、別キャラなら通常の開始時動作へ。
※相手の変数をチェックする前に画像を置いて代入処理の完了を待っている点に注意してください。

MEMO

判別の分岐を省略したい
1P or 2Pの分岐を毎回行うのが面倒な場合は
相手キャラの変数値を自キャラのキャラ変数にコピーしておくと
分岐なしに1つの変数を参照するだけで済むため便利です。

 このあたりはキャラ判別をどれだけんも頻度で使うか?
 キャラ変数のストックに余裕があるか?を考えて決めるようにしてください。



テストプレーで処理を確認
スクリプトが用意出来たら、テストプレーで処理を確認してください。

同キャラ対戦時の専用ポーズを確認することが出来ました。
同様にして、他のキャラにも変数値代入の処理や分岐処理を追加してください。

余裕があれば、キャラ別の分岐をさらに追加するのも良いでしょう。
その場合は上記のスクリプトに「相手キャラの変数値=○○なら〜」
の分岐を追加していくことになります。

 なお、複数パターンの分岐を作成する場合も
 まずは基本形である1パターンの分岐が上手く動くか確認しておくことをお勧めします。



ここではシステム変数を使って使用キャラの把握を行いました。
貴重な変数を使っていてもったいないと感じるかもしれませんが、
キャラを把握を利用した処理は色々考えられるので
今回説明したテクニックを上手く活用してキャラクター性の高いゲームを実現してください。


以上、長くなりましたがキャラ限定の処理を組む方法に関する説明を終えます。
なお、今回説明した内容について気になる点や疑問点などがあれば
掲示板 にて受け付けておりますので気軽にお尋ねください。

トップページへもどる

inserted by FC2 system