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


■ バグ・よくあるミス


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


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


030

押せないOBJ

格闘ゲームは、基本的にキャラクター同士が戦うスタイルのものが多く
移動するもの を相手とした処理が中心です。

自キャラも相手キャラも画面内を自由に移動します。

ただ、ボーナスステージなど特定の場面では
動かない ・ 押せない物体を相手に勝負することもあります。

左側に表示されているキャラは移動しますが、右側に表示された柱は全く移動しません。

このページでは、2D格闘ツクールで
押せないOBJを表現するために役立つテクニックについて解説したいと思います。



作成する内容の確認
今回はボーナスステージでの使用を前提として押せないOBJを表現します。

ボーナスステージ用のプレイヤーを用意しました。

スクリプト側では、「開始時」にて「押せないOBJ」行をオブジェクト呼出しています。

「開始時」スクリプトはラウンド開始時に一度だけ実行されるので
画面内に一度だけOBJを発生させたい時は便利です。

なお、オブジェクト呼出の設定は以下のようになっています。

オブジェクトがキャラ本体の手前に出現するよう設定しています。

また、動作の確認用に
以下のようなグラフィックを「通常立ち」スクリプトに置いています。

※上記画像はPNGファイルです。ゲーム内に読み込む場合はBMP形式に変換してください。

今回、キャラ本体で特別な処理を行うことは無いため
スクリプトは画像呼出命令を1ブロックのみ用意すればOKです。


------------------------------------------------------------
次は、「押せないOBJ」のスクリプト内容を確認します。

番号 命令 設定内容
1 グラフィック全体にぶつかり判定
2 WAIT値 = 0(無限)


今回作りたいのは押すことが出来ないOBJなので、
柱全体にぶつかり判定を置いてキャラがすり抜けないようにします。


また、OBJをずっと表示したままにするため
WAIT値を0(無限)にしている、という点に注意してください。

押せないOBJ用に、以下のような柱のグラフィックを用意しました。

※上記画像はPNGファイルです。ゲーム内に読み込む場合はBMP形式に変換してください。


現状の確認
上記の設定のままテストするとどうなるか、テストプレーを実行して確認してみます。

ゲーム開始。

「開始時」スクリプトによって柱のOBJが出現しました。
自キャラと同じように、ぶつかり判定を持っています。

キャラを前に進めて柱を押してみます。

普通に押すことが出来てしまいます。
感覚としては、通常の相手キャラを押している感じです。



押せないOBJを表現する工夫
上記の結果から分かるとおり、
普通に発生させたOBJでは位置を固定することが出来ません。

 OBJのスクリプトに移動力を0にした座標移動を用意しても
 位置を固定することは出来ません。


ここで役に立つのが、OBJ呼出命令の設定欄にある「親と同期」オプションです。

再び「開始時」 スクリプトへ移動、OBJ呼出命令を確認してください。

「親と同期」オプションにチェックを入れます。
※ここで言う親とは、押せないOBJを発生させたキャラ本体となります。

これで準備完了です。



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

ゲームを開始、自キャラで柱を押してみると…

押せません。

------------------------------------------------------------
処理の仕組み

相手キャラが押してきたことよりも
親となるキャラに同期することが優先されているため、動かせないOBJとなっています。

なお、何らかの方法で本体であるキャラを押した場合は
その子である押せないOBJ も一緒に移動します。

また、親となるキャラを歩かせるよう設定すれば
こちら側へ向かって動いてくる壁 といった表現も可能です。

親OBJ( ここでは雲のグラフィック )が移動すると、連動して子OBJ( 柱のグラフィック )も移動します。
CPU設定で常に前方向へ移動する という処理を組むと良いです。

ちなみに、自キャラで壁を押し返そうとしても無視されます。
この場合も、親となるキャラ自体は前方に障害物がないので
全く気にすることなく前進を続けます。

 ただし、自キャラがOBJに押されて
 画面端で押しつぶされそうになるとその位置でストップするようです。


------------------------------------------------------------
画面の表示範囲に注意
押せないOBJのテクニックを使う時は、画面の表示範囲に気をつけてください。
画面の表示範囲は基本的に1Pと2Pが表示されるように自動調整されます。
( ただし、対戦以外のモードで画面端 = 壁のオプションをOFFにした場合を除く )

押せないOBJとして表示した柱はあくまで子OBJであって、
画面表示位置を決めるのはその発生元であるキャラ本体である

という点を忘れないでください。



このページではボーナスステージでの使用を前提とした説明を行いましたが
変り種としてキャラクターの技などに使うなど、色々な使い道が考えられます。
処理内容的にもあまり難しくはないと思うので、
存分に活用してゲーム製作に役立ててください。


以上、押せないOBJを表現するテクニックについての解説を終えます。
今回説明した内容について気になる点・疑問点などありましたら、
掲示板 にて質問を受け付けておりますので気軽にお尋ねください。



トップページへもどる

inserted by FC2 system