001 はじめに
002 ゲーム作成
003 各種メニュー確認
004 「キャラクター」作成
005 「ステージ」作成
006 「デモ」作成
007 「テストプレー」
008 「ステージ」編集
009 「キャラクター」編集
010 パレット管理
011 アニメーション
012 「座標移動」
013 重力の設定
014 その他スクリプト
015 「リアクション」
016 ヒットエフェクト
017 スクリプトの並べ方
018 攻撃動作
019 「コマンド入力」
020 攻撃判定
021 やられ判定
022 やられ動作の設定
023 「タイトル画面」作成
024 タイトルカーソルの表示
025 「キャラクターセレクト」
026 各種インターフェイス
027 ラウンド関連の表示
028 CPUの動作指定
029 「ストーリー」の作成
030 ヒット数の表示
031 投げ技の作成
032 ゲージ消費技の作成
033 ステージの組み方
034 デモシーンの組み方
035 格闘ツクールの仕様
■ コマンド解説
001 画像呼出
002 座標移動
003 防御枠
004 攻撃枠
005 リアクション
006 サウンド
007 キャンセル条件
008 色変更
009 オブジェクト発生
010 変数による分岐
011 条件分岐:技中有効
012 条件分岐:基本分岐
013 条件分岐:ランダム分岐
014 条件分岐:コマンド入力
015 スクリプト移動: 移動
016 スクリプト移動: 呼出
017 スクリプト移動: ループ
018 座標・画像変更
019 スクリプト変更
020 スペシャルゲージチェック分岐
021 ライフゲージチェック分岐
022 ゲージ変更
023 パレットアニメ・揺らし
024 停止
025 残像
026 終了
■ テクニック解説
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 ハイジャンプの作成
■ バグ・よくあるミス
Q_A よくあるミスQ&A
001 消せない画像
002 リスト選択とキーボード操作
003 アニメプレビューで落ちる
004 起動直後に落ちる
005 OBJ発生位置がずれる
006 着地すると技終了
007 画面端でのヒットバック1
008 グラデーションが汚い
009 画面端でのヒットバック2
010 境界のアンチエイリアス問題
011 ガードされてもキャンセル可能
012 プレーヤーの読込に失敗
013 謎の残像が発生する
014 コマンドが左右反転する
015 パレット管理でよくあるミス
016 下溜め技が失敗する
017 パレットウィンドウで落ちる
018 コンボが途切れない
019 やられ中にしゃがみ可能
020 ソフトのバージョン表記
021 空中でコマンド左右反転2
022 左右押しでガード前進
023 真空投げが発生する
024 空中でコマンド左右反転3
■ テスト時のチェック項目
■ 解説用データ ダウンロード
022
ステージの地面表現
格闘ゲームを構成する要素の1つとしてステージがあります。
色々なキャラが様々な場所で戦っていたりしますが、
水辺や砂地など、ステージの地面が特殊な地形である場合は
キャラが動くたびに波を立てたり砂が舞ったりします。
操作に影響を与える、といったことはあまりないですが
これらはステージの雰囲気を盛り上げてくれます。
そこで今回は、
水面のあるステージでの水しぶき表現を例として
ステージごとにキャラの動作を変える方法について説明していきたいと思います。
( ちなみに、内容的にはそれほど難しいものではありません。 )
作成内容の確認
まずは、これから作成する内容について 軽く確認しておきましょう。
水面のあるステージにて、キャラが右方向に移動中です。
足元を見ると、水しぶきのエフェクトが表示されています。
また、同じ動作を別のステージで行った場合
水しぶきエフェクトは表示されず、通常の歩行グラフィックのみが表示されます。
ステージの準備
実験の舞台となるステージを用意します。
通常通りにステージを新規作成してください。
今回は「水面」という名前でステージを作成しました。
------------------------------------------------------------
画像の登録
ステージを構成する部品となる画像を読み込みます。
ステージのメイン背景
※ゲーム用BMPは上記画像のリンク先にて提供しております。
画面奥側に設置します。
透明色設定用に、 画像の左上1ドット だけ微妙に色を変えています。
2D格闘ツクールでは、
「画像の左上にあるドットを透明色として扱う」というルールがあります。
水面の画像
※ゲーム用BMPは上記画像のリンク先にて提供しております。
キャラの手前、足元あたりに設置します。
なお、上端の緑色部分は透明色扱いになります。
以下のような感じで各画像を登録してください。
「プレーヤー位置」より上の行が画面奥側になります。
画像の座標設定も載せてあるので参考にしてください。
また、「背景」 「水面」行については
横方向・縦方向のスクロール値を +100 に設定しておいてください。
( スクロール値の設定欄は、スクリプトの行名の部分をクリックすると表示されます )
------------------------------------------------------------
変数の設定
ステージに合わせてキャラの動作を変えるには、
「今どのステージにいるか?」を把握しておく必要があります。
ここでは、 システム変数E に 4 という値を設定します。
例では現在登録してあるステージ一覧で「水面」ステージが上から4番目なので、
対応がわかりやすいようにこのような設定にしています。
変数命令を置く際は、画像呼出命令の手前に置くよう気をつけてください。
※後に画像命令がないと、変数操作が実行されないので注意
上記例では、背景画像の手前に変数命令を置いています。
テストプレーでステージ表示を確認してください。
見た目に問題なければ、これでステージの準備は完了です。
( キャラの足元部分と水面グラフィックの重なり方に注意してください )
同様にして、他のステージにも変数設定をしておくと良いでしょう。
※水面ステージと他のステージで処理を分けるために必要になります。
リスト1番目のステージ ⇒ 変数の値を1に
リスト2番目のステージ ⇒ 変数の値を2に
といったルールを決めておくとわかりやすいかと思います。
キャラのスクリプト設定
続いてキャラのスクリプト編集に入ります。
なお、今回は「前歩き」のスクリプトを対象として処理を追加していきます。
以下は「前歩き」の動作アニメになります。
※ゲーム用BMPは上記画像のリンク先にて提供しております。
座標設定やWAITなど細かい設定については、
下の方に載せるスクリプト表を参考にしてください。
エフェクトの呼び出し方
水しぶきエフェクトを出す流れについてですが、
他のエフェクトを表示することも考えて、以下のような構成にしておきます。
各種動作から直接水しぶきエフェクトを呼ぶのではなく、
「足跡エフェクト」という行を介した分岐処理から呼んでいる点に注意してください。
( こういう構成にしておくと、後から別のエフェクトを呼びたくなった時に都合が良いです。 )
スクリプト解説
前歩き
番号 | 命令 | 設定内容 |
1 | ぶつかり・やられ・投げやられをONに | |
2 | 移動Xを +1.76 に | |
3 | 座標(0,0)に「足跡エフェクト」を発生 オプション「親と同期」「無条件」をONに 奥行指定は127(最前面)に |
|
4 | 1枚目、 WAIT = 15、中心軸 (0, 7) | |
5 | 2枚目、 WAIT = 15、中心軸 (0, 5) | |
6 | 3枚目、 WAIT = 15、中心軸 (10, 2) | |
7 | 3枚目、 WAIT = 15、中心軸 (5, 5) | |
8 | 3ブロック目と同様 | |
9 | 4枚目、 WAIT = 15、中心軸 (3, 9) | |
10 | 5枚目、 WAIT = 15、中心軸 (2, 8) | |
11 | 6枚目、 WAIT = 15、中心軸 (13, 7) | |
12 | 7枚目、 WAIT = 15、中心軸 (3, 7) |
命令数は多いですが、重要なのは
3ブロック目と8ブロック目のオブジェクト発生命令のみです。
オブジェクト命令のオプション「親に同期」はお好みでON/OFFしてください。
ONにしておくと、キャラの移動に合わせて
エフェクトも移動しながらアニメーションするようになります。
また、奥行指定を最前面にしているのは
ステージの水面パーツより手前にエフェクトが表示するためです。
なお、今回は足跡エフェクト発生の基本パターンということで
オブジェクト発生座標を ( 0, 0) に設定しています。
足跡エフェクト
番号 | 命令 | 設定内容 |
1 | システム変数Eが4なら、「└水しぶき」へ | |
2 | 透明画像、 WAIT = 5、中心軸 (0, 0) | |
3 |
ステージスクリプトでの変数設定に合うよう分岐処理を組みます。
透明画像には、以下の画像を使用すると良いです。
※ゲーム用BMPは上記画像のリンク先にて提供しております。
水しぶきエフェクト
番号 | 命令 | 設定内容 |
1 | 1枚目、 WAIT = 8、中心軸 (0, -33) | |
2 | 2枚目、 WAIT = 12、中心軸 (12, -32) | |
3 | 3枚目、 WAIT = 16、中心軸 (-1, -31) | |
4 | 4枚目、 WAIT = 14、中心軸 (-4, -30) |
特別なことは何もしておらず、エフェクトのアニメーションのみ設定しています。
なお、水しぶきのグラフィックには以下の画像を使用しています。
※ゲーム用BMPは上記画像のリンク先にて提供しております。
各種設定が済んだら、テストプレーで処理を確認してみましょう。
テストプレーで処理確認
今回作成した「水面」ステージにてテストを実行します。
ステージにてキャラを前方に移動させると…
一定の間隔で水しぶきエフェクトが表示されます。
続いて、別のステージで同様の操作を行うと…
水しぶきは表示されず。
正しく条件分岐していることが確認できました。
処理の追加
前歩き動作での処理確認が済んだら
同様にして各種動作にオブジェクト命令を追加してください。
後歩き や ジャンプ 〜 着地動作、
その他 体を大きく動かす動作に処理追加すると良いでしょう。
今回はエフェクトアニメを表示するだけの単純な処理を例として説明しました。
これに加えて…
水しぶきに効果音を追加したり、 別パターンのアニメーションを用意したり
ステージによってキャラの移動速度を変えたりすると
よりステージの印象が強まると思います。
例えば…
今回作成したステージだと、ひざのあたりまで水に浸かっているので
移動速度を遅めにした方が自然に見えるかもしれません。
また、今回は説明を省きましたが
ステージ内の一部に限定して足跡エフェクトを出したい場合は
オブジェクトの表示処理内に、キャラの座標を基準とした分岐を追加してください。
( タスク変数で座標値を取得して判定すると良いです )
------------------------------------------------------------
今回説明した
キャラクター外の条件を変数で把握、それを基にキャラ動作を分岐
という手法は他の処理を表現する際にも使えるので、色々試してみてください。
また、ステージの把握に貴重なシステム変数を使っているので…
合わせて その他ステージ関連の演出 を入れるのも良いでしょう。
以上で「ステージの地面表現」に関する説明を終えます。
なお、今回の説明について疑問点などあれば
掲示板 にて受け付けておりますので気軽にお尋ねください。