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


万能ウィンドウの基本情報について説明します。


ショートカット
■万能ウィンドウとは?
■万能ウィンドウの処理構造について
■万能ウィンドウのピクチャ番号
■可変DB[19:万能ウィンドウ一時DB]の設定
■可変DB[18:基本システム用変数]の設定
■補足


  
■万能ウィンドウとは?

万能ウィンドウは、ウディタの基本システムに組み込まれている機能であり、
アイテムの選択画面などの一覧画面を表示する時に使います。

▼アイテムの選択画面
▼特殊技能の選択画面
▼装備変更の画面
▼お店の画面
▼戦闘画面の行動選択画面

※画面の下に表示される補足説明も万能ウィンドウの機能の一部です。



万能ウィンドウは、画面上に1つしか表示する事ができません。

万能ウィンドウを2つ同時に表示したい時には、もう1つのウィンドウは自作する必要があり、
コモンイベントだけでなく、可変DBなども新たなものを用意する必要があります。



万能ウィンドウの項目は「項目名+数値」で表示されており、項目ごとに1つのピクチャで表示しています。

基本的に文字列のみになりますが、アイコンを表示する特殊文字「\i[番号]」を使用する事で、
小さな画像を表示する事ができます。

▼アイコンを設定した時の表示例




万能ウィンドウは表示させる仕組みが分かれば、制作者オリジナルの万能ウィンドウを表示させる事もできます。


▲トップへ戻る▲


  
■万能ウィンドウの処理構造について

万能ウィンドウは3つのコモンイベントで構成されています。

コモンイベント
クリックすると解説ページが開きます
処理内容
064:X[共]万能ウィンドウ描画処理 万能ウィンドウの描画処理を行います。
ウィンドウの表示や消去だけでなく、カーソルの表示、縦のスクロール処理、
画面下の説明文の更新なども行います。
065:X[共]万能ウィンドウ選択実行 万能ウィンドウのキー処理を行います。
カーソルを移動した時のカーソルの表示や選択した項目の説明文の表示などは
コモンイベント[064:X[共]万能ウィンドウ描画処理]を呼び出して処理しています。
066:X[共]万能ウィンドウ説明欄変更 他のイベントから万能ウィンドウの説明文を更新する時に使います。
万能ウィンドウを操作している時の説明文の更新は、
コモンイベント[064:X[共]万能ウィンドウ描画処理]の中で処理しており、
このコモンイベント[066:X[共]万能ウィンドウ説明欄変更]は使用していません。



万能ウィンドウの基本的な処理の流れは、以下のようになります。

可変DB[19:万能ウィンドウ一時DB]に万能ウィンドウに表示する情報を登録。
可変DB[18:基本システム用変数]データ[8〜18]に万能ウィンドウの表示位置などを設定。
コモンイベント[064:X[共]万能ウィンドウ描画処理]を呼び出して万能ウィンドウを表示。
コモンイベント[065:X[共]万能ウィンドウ選択実行]を呼び出してカーソルの操作と項目の決定を処理。
方向キーを押してカーソルが移動した時には、
コモンイベント[064:X[共]万能ウィンドウ描画処理]を呼び出してカーソルの表示位置を変更。
コモンイベント[065:X[共]万能ウィンドウ選択実行]で何らかの項目を決定したら処理を終了し、
コモンイベント[064:X[共]万能ウィンドウ描画処理]を呼び出して万能ウィンドウを消去。



装備変更の画面お店の画面などでカーソルを動かすごとに画面上の補足情報を更新する場合は、
カーソルを動かすごとにコモンイベント[065:X[共]万能ウィンドウ選択実行]の処理を終了させ、
補足情報を更新した上で再びコモンイベント[065:X[共]万能ウィンドウ選択実行]を呼び出します。

▼装備変更の画面
▼お店の画面

可変DB[19:万能ウィンドウ一時DB]に万能ウィンドウに表示する情報を登録。
可変DB[18:基本システム用変数]データ[8〜18]に万能ウィンドウの表示位置などを設定。
コモンイベント[064:X[共]万能ウィンドウ描画処理]を呼び出して万能ウィンドウを表示。
コモンイベント[065:X[共]万能ウィンドウ選択実行]を呼び出してカーソルの操作と項目の決定を処理。
方向キーを押してカーソルが移動した時には、
コモンイベント[064:X[共]万能ウィンドウ描画処理]を呼び出してカーソルの表示位置を変更し、
一旦コモンイベント[065:X[共]万能ウィンドウ選択実行]の処理を終了し、
呼び出し元のイベントで補足情報を更新した上で、
再びコモンイベント[065:X[共]万能ウィンドウ選択実行]を呼び出す。
コモンイベント[065:X[共]万能ウィンドウ選択実行]で何らかの項目を決定したら処理を終了し、
コモンイベント[064:X[共]万能ウィンドウ描画処理]を呼び出して万能ウィンドウを消去。

カーソルを動かす度にコモンイベント[065:X[共]万能ウィンドウ選択実行]を終了させる場合は、
コモンイベント[065:X[共]万能ウィンドウ選択実行]を呼び出す際に「キー1回分だけ処理」を設定してください。




コモンイベント[066:X[共]万能ウィンドウ説明欄変更]は万能ウィンドウ以外のイベントで説明文を更新する時に使います。

ウディタの基本システムでは、装備変更の画面コモンイベント[066:X[共]万能ウィンドウ説明欄変更]を使っています。

装備変更の画面は、右側の一覧は万能ウィンドウですが、左側の装備中の一覧は万能ウィンドウではありません。


そのため、右側の一覧でカーソルを移動すると、自動的に選択している装備品の説明文が表示されますが、
左側の一覧でカーソルを移動しても、装備中の装備品の説明文は表示されません。

左側の一覧で選択した装備品の説明文を表示するためには、
コモンイベント[066:X[共]万能ウィンドウ説明欄変更]を呼び出して説明文を更新する必要があります。



▲トップへ戻る▲


  
■万能ウィンドウのピクチャ番号

万能ウィンドウの表示では、ピクチャ番号[15000〜15208]を使用しています。

▼ピクチャ番号の割り当て


ピクチャー
番号 使用内容 表示イベントの位置
15000 一覧表示の枠 コモン[064]272行目
15001 画面下の説明表示の枠 コモン[064]202行目
15002 文字列:画面下の説明文の表示 コモン[064]761行目
コモン[066]23行目
15003 選択カーソル コモン[064]497行目
15004 文字列:一覧表示にて上へのスクロール可能を示す[▲]の表示 コモン[064]780行目
15005 文字列:一覧表示にて下へのスクロール可能を示す[▼]の表示 コモン[064]801行目
15006 一覧表示の右側にあるスクロールバー コモン[064]847行目
15009-15208 文字列:選択項目 コモン[064]695行目



選択項目のピクチャ番号は「可変DB[19:万能ウィンドウ一時DB]のデータID+15009」になります。

例えば、可変DB[19:万能ウィンドウ一時DB]データID[0]を表示するピクチャ番号は「15009」になり、
データID[1]を表示するピクチャ番号は「15010」になります。



万能ウィンドウの画面がスクロールしても「可変DB[19:万能ウィンドウ一時DB]のデータID+15009」は変わりません。

例えば「横1×縦5」の万能ウィンドウで下キーを押して万能ウィンドウをスクロールさせた場合、
可変DB[19:万能ウィンドウ一時DB]のデータIDと使用されるピクチャ番号は以下のようになります。

データID[0]の文字列(15009)
データID[1]の文字列(15010)
データID[2]の文字列(15011)
データID[3]の文字列(15012)
データID[4]の文字列(15013)
データID[1]の文字列(15010)
データID[2]の文字列(15011)
データID[3]の文字列(15012)
データID[4]の文字列(15013)
データID[5]の文字列(15014)
データID[2]の文字列(15011)
データID[3]の文字列(15012)
データID[4]の文字列(15013)
データID[5]の文字列(15014)
データID[6]の文字列(15015)

万能ウィンドウの項目表示では、既に表示済みの項目は表示位置を変えるだけでそのまま利用し、
新たに追加される項目のみを表示する仕様になっています。



項目のピクチャ番号は「15009〜15208」が使います。

[15209]以降は「減算200(15209→15009)」になります。



なお、ピクチャ番号「15209〜15999」は何も使っていませんが、
万能ウィンドウを消去する時には「15000〜15999」の範囲で消去しているため、
ピクチャ番号「15209〜15999」を何かに使うのはお勧めできません。


▲トップへ戻る▲


  
■可変DB[19:万能ウィンドウ一時DB]の設定

万能ウィンドウに表示する項目の情報を可変DB[19:万能ウィンドウ一時DB]に設定してください。



以下は可変DB[19:万能ウィンドウ一時DB]の項目の解説です。

項目ID 項目名 内容
0 項目文 画面上に表示する項目の文字列を設定。
1 項目コード データIDなどの項目の内容が分かる数値を設定。
特殊技能の選択画面では、ユーザーDB[0:技能]のデータIDが設定されます。
データID[2:ヒール]の場合は「2」を設定。
アイテムの選択画面の場合は、以下の数値が設定されます。
アイテム 「ユーザーDB[2:アイテム]のデータID+10000」を設定。
データID[2:魔力の水]の場合は「10002」を設定。
武器 「ユーザーDB[3:武器]のデータID+20000」を設定。
データID[5:木の杖]の場合は「20005」を設定。
防具 「ユーザーDB[4:防具]のデータID+30000」を設定。
データID[12:ナイトシールド]の場合は「30012」を設定。
2 選択可能状態[1=可] 選択可能かどうかを設定。
「0」の場合は選択してもブザーが鳴り、選択する事ができません。
▼選択できない状態になる例
●メニュー画面で「戦闘中のみ使用可能」になっているアイテムや特殊技能。
●SPが足りない特殊技能。
●「装備不可(装備タイプが合わない)」になっている装備品。
●お店の購入でお金が足りない商品。
●お店の売却で売却不可(価格設定「0」)になっている所持品。
3 残り個数/消費ポイント アイテムや装備品の一覧表示では「所持個数」を設定。
特殊技能の一覧表示では「消費HP」「消費SP」を設定。
お店の表示では「価格」を設定。
4 付与文字列[前] 項目[0]項目[3]との間に表示する文字列を設定。
例えば「×」を設定すると、「薬草×3」などと表示されます。
5 付与文字列[後] 項目[3]の後ろに表示する文字列を設定。
例えば「」を設定すると「薬草 15」、
」を設定すると「短剣 3」と表示されます。
6 説明文 ユーザーDBに設定されたアイテムや特殊技能の説明文を設定。
7 [オプション]予備数値A 何らかの数値を設定する時に使用。
例えば、お店の処理では、価格の設定に項目[3]を使っているので、
アイテムの所持数の設定に、この項目[7]を使っています。
8 [オプション]予備数値B 何らかの数値を設定する時に使用。
※万能ウィンドウの処理には表示設定が無いので、
 数値を設定しても画面上には何も表示されません。
9 [オプション]予備文字列A 何らかの文字列を設定する時に使用。
例えば、お店の処理では「ウルファール ○装備可能」などの表示で使用。
10 [オプション]予備文字列B 何らかの文字列を設定する時に使用。
※万能ウィンドウの処理には表示設定が無いので、
 文字列を設定しても画面上には何も表示されません。

▼表示例(お店の売却画面)




アイテムの選択画面などの場合、アイテム、武器、防具の所持数を調べて、
所持数が「1以上」の場合は可変DB[19:万能ウィンドウ一時DB]に登録します。

【コモン[110:X[移]アイテム一覧算出]の解説ページを開く】


▲トップへ戻る▲


  
■可変DB[18:基本システム用変数]の設定

可変DB[18:基本システム用変数]では、万能ウィンドウの表示位置の設定などを行います。



上図には表示されていませんが、データ[61:[一時]万能ウィンドウ最終カーソル位置]にも設定があります。



基本システム内で使用する時の万能ウィンドウは、ゲーム画面の縦横のサイズを取得し、
その画面サイズを「横:除算32」「縦:除算24」で算出した値を基に、
万能ウィンドウのサイズや表示位置などを設定しています。

例えば、アイテムを選択する画面のウィンドウのX表示位置は「ゲーム画面の横サイズの32分の2」、
ウィンドウの横サイズは「ゲーム画面の横サイズの32分の28」になっています。

▼表示位置とウィンドウサイズの設定


このようにゲーム画面のサイズを基に表示位置やウィンドウサイズを設定する事で、
どんなゲーム画面のサイズにも対応させる事ができます。

ただ自分の作品で万能ウィンドウを使う場合は、ゲーム画面のサイズが途中で変わる事も無いので、
普通にピクセル単位で表示位置や表示サイズを設定すれば良いと思います。

可変DB[18:基本システム用変数] 画面サイズ
320×240 640×480 800×600
9 万能ウィンドウ表示X 20 40 50
10 万能ウィンドウ表示Y 10 20 25
11 万能ウィンドウ横サイズ 280 560 700
12 万能ウィンドウ縦サイズ 190 380 475
16 万能ウィンドウ説明欄縦サイズ 30 60 75



表示位置とウィンドウサイズ以外の設定も行ってください。

可変DB[18:基本システム用変数] 説明
13 万能ウィンドウ横項目数 メニューの横の項目数を設定。
アイテムの選択画面の場合は、
横に2項目を並べているので「2」を設定。
14 万能ウィンドウ縦項目数 メニューの縦の項目数を設定。
アイテムの選択画面の場合は、
縦に13項目を並べているので「13」を設定。
15 万能ウィンドウ縦スクロール位置 どれくらい縦スクロールしているのかを設定。
基本的に万能ウィンドウの開始時には「0」を設定。
17 万能ウィンドウ項目個数 全ての項目数を設定。
特殊技能の選択画面ならば、使用できる特殊技能の数を設定。
21 万能ウィンドウ 外からカーソル指定 コモンイベント[064:X[共]万能ウィンドウ描画処理]を呼び出す際、
カーソルの初期位置を指定。
これを利用して前に選択した項目にカーソルを置く事ができます。


▲トップへ戻る▲


  
■補足

基本システムのメニュー画面や戦闘画面の表示では、ピクチャ番号[10000〜19999]を使用しています。

そのため、基本システムの画面を表示している時には、
他の用途でピクチャ番号[10000〜19999]を使用するのは避けた方が良いでしょう。


▲トップへ戻る▲



◎関連ページ

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

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

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