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


■ バグ・よくあるミス


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


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


034

デモシーンの組み方

格闘ゲームのメイン部分と言えばやはり対戦シーンですが、
ゲームのストーリーを構成する上で欠かせないのがデモシーンです。

デモシーンのイメージ

今回はデモシーンを組む方法について解説したいと思います。
 基本操作については チュートリアル006 「デモ」作成 にて説明しているので、
 ここではより詳細な手順を中心に話を進めます。


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

ここではストーリーモードでのデモシーンを前提として話を進めていきます。
ストーリーモードを開始、キャラを選択するとデモがスタートします。

画面上部にデモの画像が表示されます。
下部にはキャラクターの台詞が表示されています。

しばらくすると、下部の台詞が切り替わります。

上部の画像はそのままです。
また、画面右下を見ると 「PUSH ANY BUTTON」 のメッセージが点滅しています。

再び台詞が変化、今度は上部の画像も切り替わります。

上部イメージは背景がアニメーションしています。

しばらくすると、デモシーンが終了して対戦シーンが始まります。
また、デモシーンの途中で何かボタンを押すとシーンをスキップすることが出来ます。


処理の構成
以下は今回作成したデモのスクリプト一覧です。

大まかな流れから順に処理の見方を説明します。

レイヤー構成を基準として見る

上図はデモシーンを構成するレイヤーとその用途 = レイヤー名を示したものです。

キャラのスクリプトでは各行の処理が場面に応じて実行されていましたが、
デモのスクリプトは全ての行が同時進行で進んでいきます。
( このルールはステージのスクリプトに近いです )

------------------------------------------------------------
レイヤーの並び順について
上にあるレイヤー行は実行画面で奥側に、
下にあるレイヤー行は実行画面で手前側に表示されます。
各行を配置する時は上下の並び順に注意してください。
※間違えた場合はコピー&ペーストかマウス左右ボタンドラッグで並べ替えると良いです。

------------------------------------------------------------
シーン構成を基準として見る
上で述べた通り、スクリプトは全行が同時進行しています。

各画像の表示時間が一致していないためレイヤーごとの命令数は均一ではありません
慣れるまでは少々見づらいかもしれませんが、
画像ブロックのWAIT値合計を見てレイヤー間のタイミングを測るようにしてください。


タイムテーブルの作成
各レイヤーはシーン内の場面に合わせて表示を切り替えます。
スクリプト解説を始める前に場面切り替えの流れを確認しておきたいと思います。
※必須というわけではありませんが、これをやっておくと作業が進めやすいです。

シーン イメージ 表示の長さ 背景
1 WAIT値200くらい  
2  WAIT値300くらい  背景やキャラは変化せず、

文章のみ表示更新。

3  WAIT値300くらい   文章の表示更新、

キャラや背景も更新。

背景はアニメ有り。

実際にデモシーンを作成する際も上のような表を組んで作業すると進めやすいです。

表を見ると、一番重要であろうタイム(表示時間)が載っていませんが、
これは次の作業を進める中で調整していきます。


メインとなるレイヤーの作成
ここからは実際のスクリプト作成に入ります。
以下はデフォルト状態のスクリプトになります。

先に述べた通り、現時点ではデモシーンの表示時間が決まっていません。
これからスクリプトを組みながら調整していくのですが、
シーンの中心となるレイヤーを基準にするとタイミングを把握しやすいです。

シーンを構成するレイヤーの候補としては幾つか思い浮かびますが、
ここでは「イメージ」レイヤーを基準にしたいと思います。

以下は今回のレイヤーで使用するグラフィックになります。
透明画像


ライバルキャラ画像

一番最初に黒いブロックの画像を置いていますが、これは透明画像用のグラフィックです。
( レイヤーを一時的に非表示にしておきたい場合は通常の画像の代わりにこの透明画像を出しておきます )

以下はスクリプトに画像を配置した例です。

各画像には仮のWAIT値を入れています。

この状態でテストプレーを実行、デモの表示を確認します。

シーンをチェックする際は、対象のデモを
ゲームのオープニングデモに設定しておくと起動してすぐに確認できるので楽です。

シーン表示を見て違和感があれば表示時間を調整します。

------------------------------------------------------------
デモの表示時間設定
一通り設定が済んだら、デモの基本タブに移動してください。

ここではシーンで流すBGMの設定などが行えますが、
今回はその下にある表示時間に注目してください。

この項目ではデモシーン全体の表示時間を設定します。
この表示時間というのはスクリプト側で言うと画像呼出命令のWAIT値に対応しています。

例えば、ここで表示時間を 100 にしていた場合。
スクリプト側でWAIT合計 120 のシーンを組んでいても
WAIT = 100 のタイミングでシーンが終了します。

現状では 値0 = 表示時間無制限 となっていますが、ここに表示時間の設定を追加しましょう。

さっき作成したスクリプトに戻って画像のWAIT値合計を計算してください。
※例では500+300で800となります。

得られた合計値を表示時間の欄に入力してください。

これでデモシーンの表示時間の設定が済みました。
表示時間の設定が済んだら
スクリプト側のラスト画像は WAIT値= t ?? 無限に変更しても問題ありません。

なお、下にあるチェック項目ではボタンスキップの設定が行えます。
ここをONにしておくと、デモシーンをボタン押しでスキップ(終了)することが出来ます。

今回の例ではボタン押しスキップを有りにするのでONに設定しておきます。


キャラ背景レイヤーの追加
イメージ部分の第2シーンでは背景をアニメーションさせるのですが、
これは背景用レイヤー内で表現します。

 ひとまとめにイメージレイヤー内で処理しても良いのですが、
 キャラ部分と分離しておくと使いまわしできるので便利です。


以下は今回のレイヤーで使用するグラフィックになります。
キャラ背景1 320x240


キャラ背景2 320x240


キャラ背景3 320x240

2と3は交互に表示してアニメーションを組みます。

ここでは上記グラフィックを使って以下のようなスクリプトを組みました。

4ブロック目のスクリプト移動命令から2ブロック目に処理を飛ばすことでループを組んでいます。

メインとなるイメージレイヤー = ライバルキャラレイヤー よりも上、
実際のゲーム画面で言うと奥側に配置している点に注意してください。

テストプレーを実行して表示を確認してください。
表示のタイミングがずれている場合は
メインのイメージレイヤーの表示時間と比較して再度WAIT値をセットし直してください。


メッセージレイヤーの追加
ここまででデモシーンのイメージ部分が出来上がりました。
次はメッセージ部分の作成に入りたいと思います。

以下は今回作成するレイヤーで使用するグラフィックです。

3つのメッセージが並んでいます。
格闘ツクールでは、イラストだけでなく文字も全て画像で用意することになります。

 長めの文章を出す時は面倒ですが、
 フォントを好きなように変えられるので表現の自由度は高いと思います。
 (例えば、手書きのメッセージも可能です)

当然ながら、RPGのように文字単位でメッセージを出すことは出来ません。
文章単位でまとめて表示することになります。

※こういう表示は特殊な処理を組まない限り無理です。

今回は以下のようなスクリプトを組みました。

第1シーンでは「台詞1」と「台詞2」でメッセージを2つ表示するため
イメージレイヤーの表示時間 500 300 200 に分けたWAIT値をセットしています。
WAITの長さを設定する際は文章量などを考えて配分すると良いでしょう。

ここで注意したいのが、まだ背景に何も画像を置いていないという点です。
ステージの組み方でも説明しましたが、
ベースとなる背景がないと前回の表示が残ったままになります。

例えば、今回のメッセージレイヤーも以下のような表示結果になります。

メッセージ部分を見るとわかりますが、台詞1と台詞2が重なって表示されています。

この問題を防ぐために背景レイヤーを用意しましょう。

------------------------------------------------------------
基本背景レイヤーの作成
デモシーン用の背景レイヤーを用意します。

以下は背景レイヤーで使用するグラフィックになります。

今回は黒に近い単色の画像を用意しました。
画像のサイズは1画面分(640x480)です。
背景色は何色でも構いませんが、透明色の関係で
黒(0,0,0)から少し外れた色にしておいた方が良いです。
単色の背景が寂しい場合はゲームのタイトル・ロゴなどを載せてください。

背景はずっと同じ画像を表示するだけなので特別な処理はいりません。

画像のWAIT値も0(無限)もしくはシーン全体の長さに合わせておけば良いでしょう。

背景の作成が済むと、前述のメッセージも問題無く表示されるようになります。


ボタン用メッセージレイヤーの作成
上の方で台詞用のメッセージレイヤーを作成しましたが、
次に作成するのはボタン押しを促す画面下メッセージになります。

台詞とは別に、画面右下に表示されているメッセージです。

1画面にメッセージを複数個表示する場合は
新たに別のレイヤーを用意する必要があります。

以下は今回のレイヤーで使用するグラフィックです。

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


スクリプトにボタン押しメッセージ用の行を追加、読み込んだ画像を配置してください。

------------------------------------------------------------
点滅処理の追加
ボタン押しメッセージの表示が出来たら、これに点滅の処理を追加しましょう。。

格闘ツクールに 「メッセージを点滅させる」 という命令があるわけではないので、
点滅しているように見えるよう画像の透明度を上下させます。

color命令で画像の表示透明度をコントロールしています。
上の例ではパチパチッとした点滅表示ですが、
透明度の変化をより細かく分けるとメッセージがポワンポワンと
フェードイン・アウトするような表現も可能です。
透明度16 → 画像 → 透明度12 → 画像 → …
といった感じにcolor命令と画像命令を交互に並べると良いです。

最後に、今回作成した処理のスクリプト設定一覧を載せておきます。
番号 1 2 3 4 5 6 7 8 9 10
基本背景

(5)

                 
キャラ背景

キャラ背景1

(500)

キャラ背景2

(10)

キャラ背景3

(10)

2へ

           
ライバルキャラ

キャラ画像1

(500)

キャラ画像2

(0)

               
メッセージ

文章1

(200)

文章2

(300)

文章3

(0)

             
ボタン押しメッセージ

透明画像

(5)

a%b半透明

A=16

メッセージ画像

(20)

a%b半透明

A=16

メッセージ画像

(30)

a%b半透明

A=16

メッセージ画像

(25)

a%b半透明

A=16

メッセージ画像

(25)

2へ

図が見づらくても申し訳ないですが、カッコ内の数値は画像のWAIT値となっています。


処理の確認
一通りデモシーンの作成が済んだら、テストプレーを実行して処理内容を確認してください。

「ボタン押しでシーンをスキップできるか?」もチェックしておきましょう。


補足:BGMについて
上の解説では説明を省略しましたが、
デモシーンでは個別にBGMを設定することができます。

基本設定のページにてBGMをセットすると、デモ開始と同時にBGMをスタートできます。

一方で、デモのスクリプト側でBGMを再生することも可能です。

効果音を鳴らすのと同じ感覚でサウンド命令を置きます。
この方式だと「デモシーンの途中でBGMを変更」
といったことも出来るので表現の幅が広がると思います。
画像命令を置いて、そのWAIT値でタイミングを調節するのがポイントです。

 ちなみに、BGMの設定を全くしない場合は
 前ステージ(対戦画面を含む)のBGMをそのまま流し続けます。
 対戦画面→デモシーン や デモシーン→対戦画面 で
 音楽を引き継ぐようにするとドラマチックなバトルを演出できるので
 かっこいいストーリーを表現したい時はぜひ試してみると良いです。


最初の方でも述べた通り、格闘ゲームの中心は対戦画面です。
登場するキャラの個性・イメージも対戦画面から受ける印象が中心であり
忙しい画面の中でキャラの深い部分を説明するのは難しいジャンルと言えます。

そんな中でデモシーンだけは対戦とは切り離して
自由に台詞などを表示できるのでキャラや世界観説明を出すチャンスとなります。
あんまり長いのも考え物ですが、
デモシーンという場面を活かしてゲームの雰囲気をしっかり説明してください。

 やや個人的な意見・感想になりますが
 デモシーン用に用意した1枚絵にはちょっとしたご褒美感、
 「ゲームをプレイしないと見れない」というプレミア感があります。
 なので、多少下手でも1枚絵は絶対にあった方が良いです。
 実際にゲームをプレイしてみるとわかりますが、
 イベント絵や一言メッセージが入るかどうかで相当印象が変わります。



以上、長くなりましたが○○○○○に関する説明を終えます。
なお、今回説明した内容について気になる点や疑問点などがあれば
掲示板 にて質問を受け付けておりますので気軽にお尋ねください。

トップページへもどる

inserted by FC2 system