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


■ バグ・よくあるミス


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


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


020

ワープ技の作成

格闘ゲームと言うと、相手を攻撃する技が目立ちますが
中には攻撃とは違うタイプの技もあります。
そのうちの一つが移動専用技です。

今回は移動専用技の中から代表して
横方向のワープ技について、その作り方を説明しましょう。


作成予定:

まずは今回作成する技のイメージを確認しておきます。

コマンドを入力すると、キャラが地面に沈んで…


少し離れた位置で、地面から出てくる

なお、キャラの移動先をコントロールする方法については、ページ後半で説明します。


アニメーションの用意

ワープの処理を組む前に、
キャラのワープ動作を表すアニメーションを組んでおきましょう。
以下は、今回の処理で使用するキャラパターンになります。

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

早速スクリプトを組んでいきます。
まずは以下のスクリプト行を追加してください。

今回は「ワープ技」という名前でスクリプト行を作成しました。

上記キャラパターン12枚をエディタに登録してください。
なお、7枚目はキャラを非表示にするための透明画像となっています。

画像のWAIT値
画像のWAIT値についてですが、
ワープ移動技は素早く動かしたいので全体的に小さい値をセットすると良いです。
( 2程度に設定しておくと良いです )
ただし、透明画像の部分だけはワープ技の移動距離にも関わってくるので
少し長めのWAITを割り当てておきます。


グラフィックの登録が完了しました。
アニメプレビューで動きを確認してください。



当たり判定の解除

グラフィックの登録が済んだので、
ここからはメインとなるワープの処理を組んでいきます。

ワープ移動する際、キャラの当たり判定がONのままだと
相手キャラの位置によっては引っ掛かってしまいます。

そこで、ワープ技中は一時的に各種当たり判定を解除しておきます。
スクリプト先頭に防御枠命令( デフォルト状態 )を追加してください。

ぶつかり判定などの判定枠が全くない状態になりました。


移動処理の追加

ワープ動作の肝( きも )となる移動の処理です。
キャラが非表示となる7番目の画像( 透明 )の手前に座標移動命令を追加してください。

今回は、キャラが前方向に向かってワープするので
X方向の移動力にプラスの値をセットしています。

続いて、透明画像の後ろに座標移動命令を追加してください。

こちらではキャラの移動力をリセットするため、移動/重力ともに0のままにしておきます。

MEMO

キャラのワープ移動量
キャラがワープ技によって移動する距離は、
キャラの移動力と、透明画像のWAIT値によって決まります。
いわゆる「速さ × 時間 = 距離」の計算です。

瞬間移動的なワープ技を表現する場合は
キャラの移動力を大きめに、
画像のWAIT値を小さめに設定すると良いでしょう。
 ただし、移動力が大きくなると後述する
 「各種判定を使ってキャラの移動先をコントロール」
 のテクニックが使いづらくなるので注意してください。


非常にシンプルですが、これでキャラのワープ動作はいちおう完成です。
ワープ技のコマンドをキャラに登録したら、テストプレーを実行して動きを確かめてみましょう。


テストプレーで確認

テストプレーを開始します。
ワープ技のコマンドを入力すると、キャラがワープ技の動作を開始して…


ワープ移動開始。

この時、キャラの影は表示されたままです。
( 影を非表示にする方法については後で説明します )

ワープ技が完了、キャラが地面から出現します。

キャラがワープ移動を行っていることが確認できました。
※画像作成の順番が違うため必殺技ゲージの状態が前後していますが、気にしないでください

キャラが思い通りの位置に移動できなかった場合は、
再びスクリプトに戻って調節してください。
 画像のWAIT値や座標移動の移動量を見直すと良いです
 また、調整時はキャラの透明表示を通常グラフィックに変更するのも有効です


ここまででワープ技の基本形は完成です。
ここから先では、ワープ技の動作を改良する4つのテクニックについて
簡単に説明していきましょう。


1. 影を非表示にする

キャラの「影」スクリプトに分岐を加えます。
キャラのスクリプトを確認すると、「影」という名の行が見つかると思います。

初期状態では、何も画像がセットされていません。これは
2D格闘ツクールにデフォルトで用意されている影画像を使用する
という扱いで、ここに何らかの画像を追加することで
その画像がキャラの影として表示されるようになります。

影を非表示にするだけなら行内に ( 終了命令 ) を置くだけで良いのですが、
今回はちょうどワープ技で使った透明画像があるので、これをキャラの影に設定します。

透明画像をセットしました。

このままではキャラの影が常に非表示状態となってしまうので
デフォルト状態の影を表示する分岐も用意します。
 デフォルト状態の影についてですが、 2D格闘ツクール2ndプログラムフォルダ内の
 「text」というBMP画像内に影の画像があるので、これを利用すると良いです。

 

分岐処理とループを組んだ結果が以下のスクリプトです。

番号 命令 設定内容
1 キャラ変数の値が1なら「4」へ
2 通常の影画像
3 「1」へ
4 透明画像( 影を非表示 )
5 「1」へ

なお、影の表示分岐にはキャラ変数を使っています。
別途ワープ技のスクリプトに変数処理を追加してください。

 ワープ移動の開始部分でキャラ変数 = 1
 ワープ移動の終了部分でキャラ変数 = 0



2. 素早くワープを行う

上の方で述べた通り、ワープ移動を素早く動かすには
キャラの移動力を大きめに、移動中画像のWAIT値を小さめに
設定するのがポイントです。
しかし、移動速度の設定だけでは表現に限界があると思います。

ここで重要となってくるのが、ごまかしです。
例えば…

キャラのワープ動作中に細かく分けた( プレーヤー:ストップ命令 ) を追加して
相手の動作を若干スローモーション気味にすることで
相対的に自キャラが素早くワープしているように見せることができます。
※例では、長いWAITの1ブロックを複数に分割することで小刻みなプレーヤーストップを実現しています。

 相手のスローモーションが目立ってしまう場合は、
 ワープキャラのキャラ設定に「時間を操作して〜」などの
 説明を加えると説得力があるかもしれません。



3. ワープ後の移動先をコントロールする

上で説明したワープ移動は、
一定の速度で決まった時間移動した先にワープする
という非常に単純なものでしたが、ここに処理を追加することで
ワープ後の移動先をある程度コントロールすることができます。

相手の前後〜ドットの位置にワープ
ワープ技として一番使い勝手の良い移動先と言えるかもしれません。

ワープ移動させる際、自キャラに攻撃判定をつけることで
相手の位置を基準としたワープを行います。

自キャラの攻撃判定が相手に触れたらワープ終了
という条件分岐を組むと良いです。
※あくまで位置判定用の攻撃枠なので、リアクション設定などは不要です。

攻撃判定の位置について

自キャラの前方に判定を置いた場合は相手キャラの手前にワープ、
後方に判定を置いた場合は相手キャラの背後にワープ、という感じになります。
※若干見辛いですが、上図ではキャラ中心軸後方に攻撃枠を設置していることがわかるかと思います。

なお、このままだと以下の場合にワープ移動の判定が失敗します。
・相手キャラがジャンプした場合
 相手の当たり判定が空中にあるため、自キャラの攻撃判定が当たりません

・相手キャラが攻撃していた場合
 ワープ用の攻撃判定と相手の攻撃判定が相殺するため、
 予期せぬ位置でワープ終了することになります

これらの問題を回避するには、各種判定を地下に埋める方法が有効ですが
自キャラだけでなく相手キャラの側にも
別途判定を用意する必要があるのでちょっと手間がかかります。
チャレンジする場合は覚悟してください。
( 地下の判定について、詳しくは 「012 当て身投げの作り方」 を参照 )


4. 振り向き動作とキャンセル条件について

ワープ動作の結果、自キャラが相手の背後に回る可能性がある場合は
ワープ技にキャンセルを許可しない方が良いです。

なぜ問題なのか
以下はワープ技にキャンセルを許可した場合の問題点です。

自キャラがワープ技で相手の背後( 画面右側 )に回った直後に攻撃を出しています。
自キャラが相手とは反対を向いた状態で攻撃している点に注目してください。

本来であれば、
「ワープ技」 → 「相手の背後に移動したので振り向き動作」 → 「攻撃」
という流れになるはずですが、
キャンセルによって振り向き動作を飛ばしてしまったために
相手の方へ振り向くことなく攻撃を出してしまった…という状態です。

ただ、通常通りの振り向き動作をしていては せっかくワープした意味がありません。
ワープ移動する際は、短い振り向き動作を実行するように条件分岐すると良いです。
※仕組みとしては上で説明した「影」の省略と同じです



長くなりましたが、以上でワープ技の作成についての説明を終えます。

今回の説明について何か疑問点などあれば
掲示板 にて質問を受け付けておりますのでお気軽にお尋ねください。




トップページへもどる

inserted by FC2 system