WOLF RPGエディター(ウディタ)[3.175]/基本システム【サイトトップへ戻る】
■万能ウィンドウの設定例
(更新:2023/04/24)


万能ウィンドウの設定例を紹介します。


ショートカット
■設定例の内容
■項目を決定するまでキー処理を続ける
■カーソルを移動するごとにキー処理を終了

万能ウィンドウの基本情報は別ページに記載しています。
【万能ウィンドウの基本情報のページを見る】


  
■設定例の内容

このページで紹介する設定例の仕様は、以下のとおりです。

表示するのはアイテムの一覧です。
表示位置はゲーム画面のサイズが[640×480]の時を基準に設定しています。
可変DB[19:万能ウィンドウ一時DB]にアイテム、武器、防具の情報を設定する処理は、
コモンイベント[110:X[移]アイテム一覧算出]を呼び出して設定します。
なお、武器と防具はアイテムで使用する事ができない設定でも、今回は全て選択可能とします。
今回はアイテムの選択のみ(選択したアイテムの名前を表示するだけ)の設定例です。
「誰に使うのか」の選択や「回復アイテム使用時の回復処理」などは、今回の設定例にはありません。
必要な場合は、コモンイベント[128:X┣[移]アイテム欄実行]などを参考に設定してください。
動作確認は…
■イベントの挿入[名]: ["オリジナル万能ウィンドウ"] <コモンEv 215>
のイベントをマップイベントに設定し、そのマップイベントを実行して動作確認を行ってください。


▲トップへ戻る▲


  
■項目を決定するまでキー処理を続ける

何らかの項目を決定するまで、コモンイベント[065:X[共]万能ウィンドウ選択実行]のキー処理を続けます。



基本システムにある通常のアイテム選択画面とは異なり、ウィンドウの縦横サイズを最大まで広げて表示します。
また表示する項目数を「横:3」「縦:15」とします。

▼表示見本




以下のイベントをコモンイベントに設定してください。

【イベントコード表示】

■コモンイベント[オリジナル万能ウィンドウ]

起動条件:呼び出しのみ

▼ 表示位置や表示サイズを設定
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ表示X : 0 ] (18 : 9 : 数値) = 0
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ表示Y : 0 ] (18 : 10 : 数値) = 0
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ横サイズ : 0 ] (18 : 11 : 数値) = 640
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ縦サイズ : 0 ] (18 : 12 : 数値) = 420
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ横項目数 : 0 ] (18 : 13 : 数値) = 3
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ縦項目数 : 0 ] (18 : 14 : 数値) = 15
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ縦スクロール位置 : 0 ] (18 : 15 : 数値) = 0
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ説明欄縦サイズ : 0 ] (18 : 16 : 数値) = 60

▼ 可変[19]に所持アイテムのデータを設定

■イベントの挿入[名]: ["X[移]アイテム一覧算出"] <コモンEv 110>
■回数付きループ [ 1 ]回
|▼ 全ての項目を「選択可能」にする処理
|▼ 必要ない場合は削除してください

|■変数操作: CSelf10[一時変数] = 0 + 0
|■回数付きループ [ 可変DB(18,17,0)[万能ウィンドウ項目個数 数値 ] ]回
| |■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf10[一時変数] : 選択可能状態[1=可] ] (19 : - : 2) = 1
| |■変数操作: CSelf10[一時変数] += 1 + 0
| |■
|◇ループここまで◇◇
|■
◇ループここまで◇◇
▼ 万能ウィンドウを表示
■イベントの挿入[名]: ["X[共]万能ウィンドウ描画処理"] <コモンEv 64> /
            0:表示 / -1 / 4:ウィンドウの下に表示

▼ 万能ウィンドウのキー入力を処理
■イベントの挿入[名]: CSelf10[一時変数] = ["X[共]万能ウィンドウ選択実行"] <コモンEv 65> /
            0:選択を終えるまでループ / 0:決定音を鳴らす

▼ 万能ウィンドウを消去
■イベントの挿入[名]: ["X[共]万能ウィンドウ描画処理"] <コモンEv 64> /
            -1:消去 / このEvのセルフ変数0 / 4:ウィンドウの下に表示


▼ キャンセルした場合は処理を終了

■条件分岐(変数): 【1】 CSelf10[一時変数] が -1 以下
-◇分岐: 【1】 [ CSelf10[一時変数] が -1 以下 ]の場合↓
|■イベント処理中断
|■
◇分岐終了◇
▼ 選択した項目コードからアイテム名、武器名、防具名を表示
■DB読込(可変): CSelf11[コード番号] =
         可変DB[ 基本システム用変数 : 万能ウィンドウ_コード返値 : 0 ] (18 : 8 : 数値)
■条件分岐(変数): 【1】 CSelf11[コード番号] が 30000 以上 【2】 CSelf11[コード番号] が 20000 以上
-◇分岐: 【1】 [ CSelf11[コード番号] が 30000 以上 ]の場合↓
|■変数操作: CSelf11[コード番号] -= 30000 + 0
|■文章:防具「\udb[4:\cself[11]:0]」を選択。
|■
-◇分岐: 【2】 [ CSelf11[コード番号] が 20000 以上 ]の場合↓
|■変数操作: CSelf11[コード番号] -= 20000 + 0
|■文章:武器「\udb[3:\cself[11]:0]」を選択。
|■
-◇上記以外
|■変数操作: CSelf11[コード番号] -= 10000 + 0
|■文章:アイテム「\udb[2:\cself[11]:0]」を選択。
|■
◇分岐終了◇


以上で設定完了です。


▲トップへ戻る▲


  
■カーソルを移動するごとにキー処理を終了

万能ウィンドウ内でカーソルが移動する度にコモンイベント[065:X[共]万能ウィンドウ選択実行]の処理が終了し、
呼び出し元のイベントに処理が元ります。

このようにカーソルを動かすごとにコモンイベント[065:X[共]万能ウィンドウ選択実行]の処理を終了させる事で、
カーソル位置にある項目の補足情報を画面に表示するような設定が可能になります。



今回は画面の左側に万能ウィンドウでアイテムの一覧表の項目数を「横:1」「縦:15」で表示し、
画面の右側には選択しているアイテムのイメージ画像を表示します。

▼表示見本




▼データベースの準備

まずフォルダー[Data]の中に、アイテムの画像を入れるフォルダー「Item」を準備してください。




ユーザーDB[2:アイテム][タイプの内容設定]をクリックし、
未使用の項目で[文字列]をクリックして、項目名に「画像」を設定し、[▼特]をクリックしてください。




ファイル読み込み(文字列)」を選択し、先ほど作成したフォルダーを設定してください。




[File]をクリックして、アイテムごとの画像ファイルを設定してください。



ユーザーDB[3:武器][4:防具]にも同様の項目を準備してください。



以下のイベントをコモンイベントに設定してください。

【イベントコード表示】

■コモンイベント[オリジナル万能ウィンドウ]

起動条件:呼び出しのみ

▼ 表示位置や表示サイズを設定
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ表示X : 0 ] (18 : 9 : 数値) = 0
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ表示Y : 0 ] (18 : 10 : 数値) = 0
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ横サイズ : 0 ] (18 : 11 : 数値) = 220
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ縦サイズ : 0 ] (18 : 12 : 数値) = 420
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ横項目数 : 0 ] (18 : 13 : 数値) = 1
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ縦項目数 : 0 ] (18 : 14 : 数値) = 15
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ縦スクロール位置 : 0 ] (18 : 15 : 数値) = 0
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ説明欄縦サイズ : 0 ] (18 : 16 : 数値) = 60
■可変DB書込:DB[ 基本システム用変数 : [一時]万能ウィンドウ最終カーソル位置 : 0 ] (18 : 61 : 数値) = 0
▼ 右側の補足画面を表示
■DB読込(ユーザ): CSelf8[ウィンドウ画像] =
         ユーザDB[ 画像/音声設定 : 0 : ウィンドウ画像ファイル ] (16 : 画像/音声基本設定 : 0)
■ピクチャ表示:16000 [左上]ウィンドウ(CSelf8[ウィンドウ画像]) サイズ[420,420] X:220 Y:0 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[50] G[50] B[50]

▼ 可変[19]に所持アイテムのデータを設定

■イベントの挿入[名]: ["X[移]アイテム一覧算出"] <コモンEv 110>
■回数付きループ [ 1 ]回
|▼ 全ての項目を「選択可能」にする処理
|▼ 必要ない場合は削除してください

|■変数操作: CSelf10[一時変数] = 0 + 0
|■回数付きループ [ 可変DB(18,17,0)[万能ウィンドウ項目個数 数値 ] ]回
| |■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf10[一時変数] : 選択可能状態[1=可] ] (19 : - : 2) = 1
| |■変数操作: CSelf10[一時変数] += 1 + 0
| |■
|◇ループここまで◇◇
|■
◇ループここまで◇◇
▼ 万能ウィンドウを表示
■イベントの挿入[名]: ["X[共]万能ウィンドウ描画処理"] <コモンEv 64> /
            0:表示 / -1 / 2:最下部に横幅最大表示 / 0:なし

■ループ開始
|▼ アイテム画像を表示
|■DB読込(可変): CSelf10[一時変数] =
         可変DB[ 基本システム用変数 : 61 : 0 ] (18 : [一時]万能ウィンドウ最終カーソル位置 : 数値)
|■DB読込(可変): CSelf11[コード番号] =
         可変DB[ 万能ウィンドウ一時DB : CSelf10[一時変数] : 項目コード ] (19 : - : 1)
|■条件分岐(変数): 【1】 CSelf11[コード番号] が 30000 以上 【2】 CSelf11[コード番号] が 20000 以上
|-◇分岐: 【1】 [ CSelf11[コード番号] が 30000 以上 ]の場合↓
| |■変数操作: CSelf11[コード番号] -= 30000 + 0
| |■DB読込(ユーザ): CSelf9[アイテム画像] = ユーザDB[ 防具 : CSelf11[コード番号] : 画像 ] (4 : - : 38)
| |■
|-◇分岐: 【2】 [ CSelf11[コード番号] が 20000 以上 ]の場合↓
| |■変数操作: CSelf11[コード番号] -= 20000 + 0
| |■DB読込(ユーザ): CSelf9[アイテム画像] = ユーザDB[ 武器 : CSelf11[コード番号] : 画像 ] (3 : - : 30)
| |■
|-◇上記以外
| |■変数操作: CSelf11[コード番号] -= 10000 + 0
| |■DB読込(ユーザ): CSelf9[アイテム画像] = ユーザDB[ アイテム : CSelf11[コード番号] : 画像 ] (2 : - : 21)
| |■
|◇分岐終了◇
|■条件分岐(文字): 【1】 CSelf9[アイテム画像]が "" 以外
|-◇分岐: 【1】 [ CSelf9[アイテム画像] "" 以外 ]の場合↓
| |■ピクチャ表示:16001 [中心]ファイル(CSelf9[アイテム画像]) X:430 Y:210 / 0(0)フレーム /
        パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
| |■
|-◇上記以外
| |■ピクチャ消去:16001 / 0(0)フレーム
| |■
|◇分岐終了◇
|▼ 万能ウィンドウのキー入力を処理
|■イベントの挿入[名]: CSelf10[一時変数] = ["X[共]万能ウィンドウ選択実行"] <コモンEv 65> /
            1:キー1回分だけ処理 / 0:決定音を鳴らす

|■条件分岐(変数): 【1】 CSelf10[一時変数] が -199 以上
|-◇分岐: 【1】 [ CSelf10[一時変数] が -199 以上 ]の場合↓
| |■ループ中断
| |■
|◇分岐終了◇
|■
◇ループここまで◇◇
▼ 万能ウィンドウを消去
■イベントの挿入[名]: ["X[共]万能ウィンドウ描画処理"] <コモンEv 64> /
            -1:消去 / このEvのセルフ変数0 / 4:ウィンドウの下に表示

■ピクチャ消去:16000 〜 16001 / 5(0)フレーム

▼ キャンセルした場合は処理を終了

■条件分岐(変数): 【1】 CSelf10[一時変数] が -1 以下
-◇分岐: 【1】 [ CSelf10[一時変数] が -1 以下 ]の場合↓
|■イベント処理中断
|■
◇分岐終了◇
▼ 選択した項目コードからアイテム名、武器名、防具名を表示
■DB読込(可変): CSelf11[コード番号] =
         可変DB[ 基本システム用変数 : 万能ウィンドウ_コード返値 : 0 ] (18 : 8 : 数値)
■条件分岐(変数): 【1】 CSelf11[コード番号] が 30000 以上 【2】 CSelf11[コード番号] が 20000 以上
-◇分岐: 【1】 [ CSelf11[コード番号] が 30000 以上 ]の場合↓
|■変数操作: CSelf11[コード番号] -= 30000 + 0
|■文章:防具「\udb[4:\cself[11]:0]」を選択。
|■
-◇分岐: 【2】 [ CSelf11[コード番号] が 20000 以上 ]の場合↓
|■変数操作: CSelf11[コード番号] -= 20000 + 0
|■文章:武器「\udb[3:\cself[11]:0]」を選択。
|■
-◇上記以外
|■変数操作: CSelf11[コード番号] -= 10000 + 0
|■文章:アイテム「\udb[2:\cself[11]:0]」を選択。
|■
◇分岐終了◇


以上で設定完了です。


▲トップへ戻る▲



◎関連ページ

◆万能ウィンドウについて
┗◆万能ウィンドウの設定例

◆「基本システム」って何?
┣◆コモンイベントの一覧と補足説明
┣◆基本システムで使用しているピクチャ番号
┣◆メニュー画面の処理構造
┗◆戦闘処理の処理構造

YADOT-WOLFトップ  気紛れな空間へ戻る  メール