WOLF RPGエディター(ウディタ)/自作メニュー【サイトトップへ戻る】 ■自作アイテムメニューを作る (更新:2024/06/01) 所持しているアイテムの名前を一覧で表示する自作メニューを作成します。
■自作アイテムメニューについて 当ページでは、アイテム名と所持数を表示する自作メニューを作成します。 当ページの処理は、自作メニューの処理構造を理解する事を目的としているため、 処理内容はアイテムを選択するだけになっています。 そのため、アイテムを選択した後の処理(回復など)はありません。 当ページの処理には、自作メニューを開くための「起動設定」がありません。 起動設定に関しては自作メニューの基礎講座に書かれているので、そちらをご覧ください。 制作中の動作テストは、マップイベントを調べるとコモンイベントが呼び出される設定で行うと良いでしょう。
ゲーム開始位置のすぐ下に動作テスト用のマップイベントを設定すれば、 テストプレイの開始後にすぐに自作メニューを開く事ができます。 アイテムを持っているかどうかの判断は、 可変DB[7:┣所持アイテム個数][8:┣所持武器個数][9:┣所持防具個数]の「所持数が1以上=持っている」で判断します。 アイテム名はユーザーDB[2:アイテム][3:武器][4:防具]の項目[0]から取得します。 動作テストの時には、可変DBのアイテムの所持個数を「1以上」にする事で、 ゲーム開始時からそのアイテムを持っている状態になります。 可変DB[7〜9]の所持数を増やす以外には、マップイベントにアイテム増減の処理を設定したり、 お店イベントの売買でアイテムの所持内容を変えたりする方法があります。 イベントを設定する前に可変DB[一覧表用]を準備してください。 ※可変DB[一覧表用]のファイルデータが欲しい場合は「動作確認用のサンプルデータ」から取得できます。 今回の設定例では専用の可変DBを用意していますが、自作アイテムメニューを表示している時に使用していない 可変DB[16:× お店一時処理用]や可変DB[19:万能ウィンドウ一時DB]などを利用しても問題ありません。 可変DB[16:× お店一時処理用]や可変DB[19:万能ウィンドウ一時DB]を利用する場合は、 項目[1]にアイテムIDを設定してください。 当ページでは「横1×縦12」の一覧表を作成します。 「横2以上」にするとアイテム名の表示やカーソルの移動処理が複雑化するため、当ページでは「横1」で設定します。 もしも「横2」で設定したい場合は、当ページをご覧になった上で、 当ページの最下部にあるリンクから「横2×縦12」に改造するページをご覧ください。 当ページの設定例は、ゲーム画面のサイズ「320×240[x2]」に合わせた設定になっています。 ▲トップへ戻る▲ ■万能ウィンドウとの違い 万能ウィンドウは基本システムに用意されている機能であり、アイテムや特殊技能を選択する一覧を表示する時に使います。 ▼万能ウィンドウの表示例 当ページの処理も一応万能ウィンドウのような処理になっていますが、機能性よりも処理構造の解りやすさを重視しているため、 万能ウィンドウと比べるとかなり機能が簡略化されており、「万能ウィンドウの簡易版」と言った感じになっています。 万能ウィンドウの処理では、予め可変DB[19:万能ウィンドウ一時DB]に一覧で表示する情報を保存しておき、 その可変DB[19:万能ウィンドウ一時DB]の情報を読み取って一覧を表示しています。 可変DB[19:万能ウィンドウ一時DB]の情報を変える事で、イベント処理を改造しなくても、 アイテムの一覧以外に、特殊技能の一覧や戦闘コマンドの一覧などを表示する事ができます。 ▼可変DB[19:万能ウィンドウ一時DB] 一方当ページの自作アイテムメニューは、可変DBにはアイテムIDのみを保存し、 アイテム名や所持数などはユーザーDB[2〜4]や可変DB[7〜9]から取得して表示しています。 もしもアイテム以外の一覧を表示にする場合は、イベント処理を改造する必要があります。 万能ウィンドウのアイテム名の表示では、「アイテム名」「×」「所持数」をまとめて1つのピクチャ番号で表示しています。 しかし「アイテム名」「×」「所持数」を1つのピクチャにまとめて表示する設定がかなり難しいので、 当ページの自作アイテムメニューでは「アイテム名」と「×」と「所持数」を別々のピクチャ番号で表示しています。 万能ウィンドウでは、項目の文字数が多い場合は、自動的に左右の拡大率を縮小して表示します。 当ページの自作アイテムメニューも長い項目名の場合は横倍率が小さくなりますが、 縮小するのはアイテム名のみであるため、「×」や所持数の横倍率はそのままになります。 万能ウィンドウの一覧のスクロール表示では、項目が上下に移動してスクロールする演出が設定されていますが、 当ページの一覧のスクロールは、パッと表示が切り替わる仕様になっています。 万能ウィンドウの右側にはスクロールバーがあります。 このスクロールバーの設定は、当ページの自作アイテムメニューではオプション設定となっており、 別ページに追加設定として記載されています。 万能ウィンドウは画面上に1つしか表示する事ができませんが、 当ページの自作アイテムメニューは、複数のコモンイベントと可変DBを用意し、 使用するピクチャ番号を変える事で、複数の自作アイテムメニューを同時に表示する事ができます。 万能ウィンドウはマウス操作には対応しておりませんが、当ページの自作アイテムメニューは、 別のページで紹介しているマウス操作のイベント設定を追加する事で、マウスの操作が可能になります。 ▲トップへ戻る▲ ■ピクチャ番号について 自作アイテムメニューでは、ピクチャ番号を以下のように使用します。
アイテム名の表示で使用するピクチャ番号は[100〜199]、[200〜299]、[300〜399]の範囲で使用します。 ピクチャ番号[100〜199][200〜299][300〜399]の下二桁は連動して使用するため、 例えばアイテム名をピクチャ番号[108]で表示した場合は、 「×」の表示はピクチャ番号[208]で表示し、 所持数の表示はピクチャ番号[308]で表示します。 基本システムのメニュー画面、戦闘画面、お店画面などと一緒に表示する場合は、 ピクチャ番号[10000〜19999]以外を使用してください。 ▲トップへ戻る▲ ■変数について 自作アイテムメニューのセルフ変数は、以下のようなグループに分けて使用します。
「横2×縦12」やマウス操作などの追加設定を考慮しているため、変数番号の使い方が飛び飛びになっています。
【変数の一覧を別ウィンドウで表示】 ▲トップへ戻る▲ ■試作品を作る まずは最低限の設定を行った「試作品」を作ります。 ▼試作品の表示見本 最初から本格的にアイテムメニューを作ってしまうと、あとで修正するのに時間がかかってしまうため、 まずは仮の文字を設定して、表示位置や表示サイズなどを確認します。 今回は「全角8文字」が表示されるように設定するため、 アイテム名は全角文字で「あいうえおかきく」を設定し、所持数は半角数字で「00」を設定します。 なお、ウディタ[3.00]から初期設定になっているフォント「Meiryo」は半角文字の横幅がちょっと広いため、 「全角1文字の横幅=半角2文字分の横幅」ではありません。 ピクチャの表示設定は以下にように設定します。
アイテム名のY表示位置は「(表示行×16)+26」の計算で算出します。 一番上の行は「0行目」なので「(0×16)+26」の計算によってY表示位置は「26」、 一番下の行は「11行目」なので「(11×16)+26」の計算によってY表示位置は「202」になります。 カーソルの画像はアイテム名の画像サイズよりも少し大きい画像で表示するため、 表示位置の設定がアイテム名の設定とは少々異なります。 所持数は「位置:右上」で表示します。 右上にする事で、所持数が1桁でも2桁でも右側に揃えて表示する事ができます。
ピクチャ番号や表示位置の設定では「変数呼び出し値(セルフ変数[30]=1600030)」を使って変数の値で設定します。 ▼ピクチャ[0](ウィンドウ画像) ▼ピクチャ[10](カーソル画像) 表示形式は「加算」にしてください。 ▼ピクチャ[20](アイコン[▲]) 文字サイズを変える特殊文字「\f[数値]」を使って少し小さく表示します。 「▲」の文字は「さんかく」を入力して変換すれば出てきます。 ▼ピクチャ[21](アイコン[▼]) ▼ピクチャ[100〜199](アイテム名) ▼ピクチャ[200〜299]([×]) 「×」の文字は「かける」を入力して変換すれば出てきます。 ▼ピクチャ[300〜399](所持数) カーソルの画像は【ピクチャエフェクト】を使って点滅するように設定します。
■SEの設定について カーソル移動時にSEを演奏させる場合は…
項目を決定した時のSEの演奏は…
キャンセルを実行した時のSEの演奏は…
★動作テスト テストプレイを実行し、カーソルの移動や表示サイズなどを確認してください。 ▲トップへ戻る▲ ■試作品から完成品に仕上げる:ピクチャ番号をセルフ変数で設定 上記の試作品から改造し、ピクチャ番号の設定をセルフ変数を使って設定します。
変数で設定する事で、あとでピクチャ番号を変える時にも、簡単に変える事ができます。 またセルフ変数に名前を設定する事で、何のピクチャの設定なのかが解りやすくなります。 ウィンドウ画像以外のピクチャ番号は「セルフ変数[55:基本ピクチャ[0]ウィンドウ]+10」などで設定します。 このように設定する事で、あとでピクチャ番号を「+1000」にする場合は、 セルフ変数[55:基本ピクチャ[0]ウィンドウ]の値を「1000」にするだけで、全てのピクチャ番号が「+1000」になります。
★動作テスト メニュ画面が試作品と変わらず表示されているかどうかを確認してください。 ▲トップへ戻る▲ ■試作品から完成品に仕上げる:アイテムデータを可変DBに保存 上記の設定に、所持しているアイテムの情報を可変DB[一覧表用]に保存するイベントを追加します。 アイテムを持っているかどうかの判断は、可変DB[7〜9]を調べて「所持数が1以上=持っている」で判断します。 可変DB[一覧表用]には「ユーザーDBのタイプ番号×10000+データID」の情報が保存されます。 アイテム[3:エリクサー]の場合は「ユーザーDB[2:アイテム]×10000+3」で「20003」が保存されます。 武器[5:木の杖]の場合は「ユーザーDB[3:武器]×10000+5」で「30005」が保存されます。 防具[12:ナイトシールド]の場合は「ユーザーDB[4:防具]×10000+12」で「40012」が保存されます。 可変DB[一覧表用]を操作する処理では、セルフ変数[30:保存可変:タイプID]に可変DB[一覧表用]のタイプIDを保存し、 セルフ変数[30:保存可変:タイプID]を使って可変DB[一覧表用]を操作します。 コモンイベントの2〜3行目に追加する…
可変DB[16:× お店一時処理用]や可変DB[19:万能ウィンドウ一時DB]で保存する場合は、項目[0]が文字列であるため…
なお、可変DB[16:× お店一時処理用]や可変DB[19:万能ウィンドウ一時DB]を使う場合は、可変DB[一覧表用]の設定は不要です。
★動作テスト 自作アイテムメニューを起動すると、メッセージウィンドウにセルフ[32:可変DB登録数]が表示されます。 例えばアイテム「薬草」「癒しの水」、武器「ダガー」、防具「レザーシールド」の4種類を持っている場合は、 メッセージウィンドウには下図のように「所持有り総数=4」が表示されます。 メッセージウィンドウを消した後のメニュー画面の表示は、現段階では試作品と変わらず「あいうえおかきく×00」になります。 ▲トップへ戻る▲ ■試作品から完成品に仕上げる:アイテム名を表示 上記の設定に、アイテム名を表示する処理を追加します。 可変DB[一覧表用]に保存したアイテムIDを基にユーザーDB[2〜4]から名前を取得して表示します。 また可変DB[7〜9]から所持数を取得して表示します。 ピクチャの文字列の設定は、以下のように変更します。
セルフ[27:スクロール行数]の値が「1以上」の場合は、その行数分の可変DB[一覧表用]のデータIDがパスされます。 例えばアイテム[A][B][C]が可変DB[一覧表用]に登録されている場合、通常は[A]から順に表示していきますが、 セルフ[27:スクロール行数]が「2」の場合は、最初の2つ([A][B])は表示せず、[C]からの表示になります。 アイテム名が全角8文字より長い場合は、横拡大率を小さくして表示します。 座標は「相対モード」にチェックを入れて「X=0」「Y=0」を設定。 拡大率は「別々」にチェックを入れて「横:1600015」を設定。 ピクチャ[20〜21]([▲][▼])を表示するイベントコマンドは、設定内容は変わっていませんが、 イベントコマンドの設定位置が条件分岐の中に移動しています。
★動作テスト 動作テストを行うと、メニュー画面に現在所持しているアイテム名と所持数が表示されます。 現段階ではスクロール機能を設定していないので、13個のアイテムがあっても最初の12個のアイテムしか表示できません。 また11個以下の場合、アイテム名が無い所にもカーソルが移動できる状態になります。 ▲トップへ戻る▲ ■試作品から完成品に仕上げる:スクロール機能を追加 上記の設定に、スクロール機能を追加し、「横1×縦12」の処理を完成させます。 セルフ[32:可変DB登録数]が「13以上」の時に、 メニュー画面の最上行で上キー、または最下行で下キーを押した時には、メニュー画面がスクロールします。 コメント「決定した時の処理」の所にある【文章の表示】は、決定したアイテムの名前が表示されるように改造します。
以上で設定完了です。 テストプレイを実行して、動作確認を行ってください。 ▼動作イメージ ▲トップへ戻る▲ ◎関連ページ ◆自作アイテムメニューを作る ┣◆自作アイテムメニュー:[横2×縦12]に改造 ┣◆自作アイテムメニュー:説明欄を追加 ┣◆自作アイテムメニュー:マウス操作を追加 ┗◆自作アイテムメニュー:スクロールバーを追加 ◆自作メニューの基礎講座 ┗◆自作メニュー:横4×縦3 ◆万能ウィンドウについて ┗◆万能ウィンドウの設定例 |