【ウディタ解説】戦闘画面の背景を敵グループ設定から指定する【改造】

レビニアよん。今回行うのは戦闘画面での背景の変更よ。

以前の解説では「背景をユーザーDBのシステム設定から行う」ということをしたのだけど、今回はその拡張版。背景を敵グループごとに個別に設定してみるのよ。

ユーザーDBの敵グループ設定に背景画像を登録する

まずはユーザーDBの改造からなのだけど、その前に準備。


解りやすいように背景画像を格納する用のフォルダを作ってしまいましょう。Dataフォルダの下に「Battle_Background」というフォルダを作成するわ。


作成したフォルダの中にテストで使用する背景画像も入れておくわね。画面サイズに合っていればまぁなんの画像でもいいわ。


それじゃユーザーDBの改造に入るわ。13番「敵グループ」を選択してその下の「タイプの内容設定」をクリック


末尾の使っていないところに背景画像を登録する項目を追加するのよ(今回は13番)。「文字列」をクリックすると名前を入力できるようになるから「背景」とでも入力してね。


そしたら隣の「▼特」ボタンをクリックして、


「ファイル読み込み(文字列)」にチェックして、初期フォルダにさっき作成した「Battle_Background」を選択するのよ。

そしたら「OK」ボタンをクリック×2回で変更を確定させれば、


敵グループに背景を指定する項目が追加されたわ。これでユーザーDBの改造は完了よ。

コモン「X[戦]バックグラウンド描画」を改造する


次はコモンの改造。改造対象は「X[戦]バックグラウンド描画」になるわ。例によって空きにコピーしてそちらを改造するわね。


まずはセルフ変数の設定から。背景画像のファイル名を読み込むためのセルフ文字列を用意するわ。今回は9番で。


改造個所は36行目辺り、ピクチャをディレイリセットしているところの下よ。ここにユーザーDBの敵グループ設定から背景画像を取得するDB読み込みを追加
→ |■DB読込(ユーザ): CSelf9[背景画像] = ユーザDB[ 敵グループ : 可変DB(18,72,0)[[戦闘]敵グループ番号 数値 ] : 背景 ] (13 : – : 13) 


データ番号には「1118007200」を入力してね。これは可変DBの値を指定する変数呼び出し値で、


呼び出しているのはこの箇所、タイプ「基本システム用変数」のデータ「[戦闘]敵グループ番号」というところ。ここに現在戦闘している敵グループの番号が格納されているのよ。

この可変DBを指定することで戦闘中の敵グループ番号がわかるから、その敵グループに登録されている背景画像を読み込むことができる、ということね。


次はDB読込の下に条件分岐を作成。読み込んだ背景画像が空白かどうかを判別するための分岐よ。
→ |■条件分岐(文字): 【1】 CSelf9[背景画像]が “” と同じ 【2】 CSelf9[背景画像]が “” 以外


そしたら条件分岐の下に元からある変数操作4つとピクチャ表示を選択&切り取りして、


さっき作成した条件分岐の1番の中に貼り付ける


これでOK。要は背景画像が登録されていない場合は元々の背景(薄いグラデーションの背景)を表示する、ということね。
→ | |■変数操作: CSelf10 = 32 * CSelf88[座標倍率X[x10]]
→| |■変数操作: CSelf11 = 24 * CSelf89[座標倍率Y[x10]]
→| |■変数操作: CSelf10 += 32 + 0
→| |■変数操作: CSelf11 += 24 + 0
→| |■ピクチャ表示:CSelf21[一時ピクチャ番号] [左上]ウィンドウ「<GRADY-779-000>」サイズ[CSelf10,CSelf11] X:0 Y:0 / 10(0)フレーム / パターン 1 / 透 255 / 乗算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]


そして条件分岐2(空白以外の方)には、読み込んだ背景画像を指定したピクチャ表示を入力するわ。
→ | |■ピクチャ表示:CSelf21[一時ピクチャ番号] [左上]ファイル(CSelf9[背景画像]) X:0 Y:0 / 10(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]


ピクチャ表示の内容はこちら。「[2]ファイル読み込み」を指定して、ファイル名を変数呼び出し値1600009でセルフ文字列9番を指定するのよ。

これでコモンの改造も完了。お疲れ様でした。

敵グループごとに設定された背景が表示されるか試してみる


それじゃ試してみましょうか。ゴブリン1匹の敵グループは背景を指定せず空白に。


ゴブリン3匹のグループには青色の背景画像を指定


ゴブリン部隊には緑色の背景画像を指定。これで戦闘してみるわね。


このように、敵グループに指定したとおりに戦闘時の背景が変わっていれば成功よ。

今回の解説はこれで終了よ。ちなみに似たような方法で改造すれば「現在のマップに合わせて背景を変える」ということもできるわね。

この記事で解説した知識があればそういう改造もできるはずよ。そちらがお好みなら挑戦してみたらいいわ。