行 |
処理内容 |
22-24 |
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ パラメータ設定
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ |
ここから先のウィンドウのサイズなどの設定値は、
ゲーム画面のサイズ[320×240[x2]]の時の値になります。
[320×240[x2]]以外のゲーム画面のサイズである場合は、
セルフ[88〜89]を使って現在のゲーム画面のサイズに合わせた値に補正されます。 |
25-26 |
▼ 固定値を設定 |
セルフ[20]に「10000(使用するピクチャ番号の最小値)」を設定。 |
27 |
▼ 外部パラメータ読み込み |
28-33 |
■条件分岐(変数): 【1】 CSelf0[処理モード] が 0 と同じ |
処理モードが「表示」の場合は分岐。 |
|
30-31 |
▼ ここでメニューコマンドを算出し、個数を可変DB「基本システム用変数」に格納 |
コモンイベント[089:X┗[移]メニューコマンド算出]を呼び出し、
選択肢に表示する項目のデータを可変DB[18:基本システム用変数]のデータ[23〜30]に保存。 |
42-47 |
▼ 座標設定 |
選択肢用のウィンドウの表示位置と横幅を設定。 |
48-52 |
▼ ※縦サイズはコマンド個数に応じてサイズ変更 |
「(セルフ[19]+セルフ[19]÷4)×セルフ[27]+セルフ[89]」の計算で
選択肢のウィンドウの縦サイズを算出し、セルフ[25]に設定。 |
ゲーム画面のサイズ[320×240[x2]]の場合で、
選択肢が6項目(相談/アイテム/特殊技能/装備/システム/セーブ)の場合は、
「セルフ[19]=10」「セルフ[27]=6」「セルフ[89]=10」になるので、
計算式は「10+10÷4)×6+10」となり、セルフ[25]には「82」が設定されます。 |
53-59 |
▼ こちらは所持金などを表示する欄の位置設定 |
所持金用のウィンドウの表示位置と横幅を設定。 |
60-74 |
▼ 座標倍率補正をかける |
選択肢と所持金の表示に関する数値を、現在のゲーム画面のサイズに合わせて補正。
なお、セルフ[25]は既に現在のゲーム画面のサイズに合わせた数値なので、補正は行わない。 |
75-76 |
▼ 初期化 |
セルフ[29]はこのコモンイベントでは使用していないので、この設定は意味がありません。 |
77-79 |
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ ここから実処理開始
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ |
80-100 |
■条件分岐(変数): 【1】 CSelf0[処理モード] が -1 と同じ |
処理モードの「消去」の場合は分岐。 |
|
82-87 |
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 「消去」モード
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 下地だけは単体で消去 |
メニュー画面の背景にある画像を消去。
消去前 |
消去後 |
|
|
|
|
88-97 |
▼ それ以外はスライド消去 |
画面左(画像の外)に選択肢と所持金のピクチャをスクロール移動し、ピクチャを消去。 |
101-287 |
■条件分岐(変数): 【1】 CSelf0[処理モード] が 0 と同じ |
処理モードの「表示」の場合は分岐。 |
|
103-107 |
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 「表示」モード
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ まずカーソル用パラメータを計算する |
セルフ[34]に「セルフ[22](ウィンドウのX表示位置)」をそのまま設定。
ゲーム画面のサイズ[320×240[x2]]の場合は「0」が設定されます。 |
|
108-109 |
セルフ[35]に「セルフ[23](ウィンドウのY表示位置)+セルフ[89]÷2」を設定。
ゲーム画面のサイズ[320×240[x2]]の場合は「0+10÷2」で「5」が設定されます。 |
|
110 |
セルフ[36]に「セルフ[24](ウィンドウの横サイズ)−セルフ[88]」を設定。
ゲーム画面のサイズ[320×240[x2]]の場合は「80−10」で「70」が設定されます。 |
|
111-112 |
セルフ[37]に「セルフ[19]+セルフ[89]÷4」を設定。
ゲーム画面のサイズ[320×240[x2]]の場合は「10+10÷4」で「12」が設定されます。 |
|
113 |
セルフ[38]に「セルフ[24](ウィンドウの横サイズ)」をそのまま設定。
ゲーム画面のサイズ[320×240[x2]]の場合は「80」が設定されます。 |
|
114-115 |
セルフ[39]に「(セルフ[25](ウィンドウの縦サイズ)−セルフ[89])÷セルフ[27]」を設定。
ゲーム画面のサイズ[320×240[x2]]の場合は「(82−10)÷6」で「12」が設定されます。 |
|
116-124 |
▼ 背景を表示 |
背景を「<GRADY-779-000>」のピクチャで表示。 |
|
125-130 |
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ メニューを表示
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ |
選択肢のウィンドウを表示。 |
|
132-141 |
▼ ここでメニュー表示時エフェクト(「移動」コマンドで実現している) |
選択肢のウィンドウを画面左(画面の外)から徐々に速度を落としながらスクロール移動で表示。 |
|
145-147 |
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 各コマンドの表示
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ |
|
149-215 |
■回数付きループ [ CSelf27[縦項目数] ]回 |
選択肢の選択項目の数だけループし、上から順番に選択項目を表示していく。 |
|
|
151-156 |
▼ 座標計算 |
選択項目の表示位置を設定。
表示の基点はピクチャの中心になります。 |
|
|
157-158 |
▼ メニューコマンドは基本システム用変数23番〜30番に入っている |
「23+セルフ[43](0〜7(ループごとに加算される))」で
可変DB[18:基本システム用変数]のデータID(23〜30)にして、セルフ[10]に設定。 |
|
|
159-163 |
可変DB[18:基本システム用変数]のセルフ[10]のデータIDから
文字列(選択肢の項目名)と数値(メニューコード)をセルフ[7]とセルフ[14]に取得し、
ピクチャ番号[10003]をセルフ[21]に設定。 |
|
|
165 |
▼ もしセーブコマンドなら、セーブ不能かどうかで分岐 |
|
|
166-175 |
■条件分岐(変数): 【1】 CSelf14[一時変数E] が 4 と同じ |
メニューコードが「セーブ」の場合は分岐。 |
|
|
|
169-173 |
■条件分岐(変数): 【1】 CSelf11[一時変数B] が 0 と同じ |
可変DB[18:基本システム用変数]のデータ[33:[システム]セーブ可能?]の設定が
「0(セーブ不可)」の場合は分岐。 |
|
|
|
|
171 |
セルフ[14]に「-1(選択不可)」を設定。 |
|
|
178-181 |
■条件分岐(変数): 【1】 CSelf14[一時変数E] が 0 以上 |
メニューコードが選択可能の場合は分岐。 |
|
|
|
180-181 |
▼ コードが1以上なら普通の文字色で表示 |
選択項目を不透明度[255]で表示。 |
|
|
183-185 |
◇分岐: 【2】 [ CSelf14[一時変数E] が -1 以下 ]の場合↓ |
メニューコードが選択不可の場合は分岐。 |
|
|
|
184-185 |
▼ コードが-1以下の場合は半透明に |
選択項目を不透明度[128]で表示。 |
|
|
188 |
▼ メニュー内容の横幅が溢れてたら横拡大率を減少させる |
|
|
191-197 |
■条件分岐(変数): 【1】 CSelf11[一時変数B] が CSelf13[一時変数D] 超 |
選択項目の表示が「ウィンドウの横幅−セルフ[88]」を超えている場合は分岐。 |
|
|
|
193-195 |
横拡大率を変えて選択項目がウィンドウ内に入るように補正。
横拡大率の補正なし |
横拡大率の補正あり |
|
|
|
|
|
201-211 |
▼ ここでコマンド表示時エフェクト(「移動」コマンドで実現している)
■チェックポイント■■■■■■■■■■■■■■■■■■■■■■■■
▼ 初期位置をシフト (とりあえず横は、メニューの表示元Xを基点としている) |
選択項目を画面左(画面の外)から徐々に速度を落としながらスクロール移動で表示。 |
|
216-275 |
■回数付きループ [ 1 ]回 |
所持金を表示する処理を実行。 |
所持金の表示が要らない場合は、ここの設定を「0回」に変更。(削除でも可) |
|
|
217-222 |
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ おまけ欄(所持金)を表示
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ |
ピクチャ番号[10011]で所持金のウィンドウを表示。 |
|
|
224-225 |
▼ おまけ欄内の文字列を生成 |
可変DB[6:パーティー情報]の項目[0:所持金]をセルフ[11]に設定。 |
|
|
226-227 |
▼ \axと\ay、<R>を駆使して横幅と位置を調整 |
所持金の文字列の横幅をセルフ[13]に設定。
所持金の文字列の表示位置を右端に移動する時に使用。 |
|
|
228 |
▼ バージョンによって右寄せの幅計算処理を変更 Ver3.00修正 |
|
|
229-235 |
■条件分岐(変数): 【1】 Sys115:[読]Game.exeバージョン(x100) が 300 未満 |
ウディタ[3.00]以前の場合は分岐。 |
|
|
|
231-236 |
ゲーム画面のサイズ[320×240[x2]]の場合は、長さを2倍にします。
これは文章の表示位置を設定する特殊文字「\ax」が[640×480]で処理されるためです。
【特殊文字「\ax」の説明を見る】 |
|
|
238-240 |
◇分岐: 【2】 [ Sys115:[読]Game.exeバージョン(x100) が 300 以上 ]の場合↓ |
ウディタ[3.00]以降の場合は分岐。 |
|
|
|
239-240 |
▼ Ver3.00以降はSys119の基本画面倍率で調整 Ver3.00修正 |
カーソル画像の横幅をセルフ[13]に設定。
ゲーム画面のサイズが2倍の場合はカーソルの横幅を2倍に、
ゲーム画面のサイズが3倍の場合はカーソルの横幅を3倍にしてセルフ[13]に設定。 |
|
|
243-247 |
ピクチャ番号[10012]で所持金の文字列を表示。 |
|
|
248-251 |
セルフ[12]には「セルフ[88]÷2」、
セルフ[13]には「セルフ[89]÷2+セルフ[89]÷6」を設定し、所持金の文字列の表示位置を補正。 |
|
|
255 |
▼ もし文字がはみ出てたら横幅を制限 (横拡大率を下げる) |
|
|
258-264 |
■条件分岐(変数): 【1】 CSelf11[一時変数B] が CSelf13[一時変数D] 超 |
選択項目の表示が「所持金用ウィンドウの横幅−セルフ[88]」を超えている場合は分岐。 |
|
|
|
260-262 |
横拡大率を変えて所持金の文字列がウィンドウ内に入るように補正。 |
|
|
268-279 |
▼ ここでおまけ欄表示エフェクト(「移動」コマンドで実現している) |
所持金の文字列を画面左(画面の外)から徐々に速度を落としながらスクロール移動で表示。 |
288-318 |
■条件分岐(変数): 【1】 CSelf0[処理モード] が 1 と同じ |
処理モードの「更新」の場合は分岐。 |
|
290-293 |
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 「更新」モード
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ |
セルフ[21]の「10002(カーソルのピクチャ番号)」を設定。 |
|
294-298 |
■条件分岐(変数): 【1】 CSelf1[カーソル位置] が -1 と同じ |
カーソル移動が「非表示」の場合は分岐。 |
|
|
296-298 |
▼ カーソル消去 |
カーソルを消去し、【イベント処理中断】を実行。 |
|
300-304 |
◇分岐: 【2】 [ CSelf1[カーソル位置] が -2 と同じ ]の場合↓ |
カーソル移動が「フラッシュ停止」の場合は分岐。 |
|
|
302-304 |
▼ フラッシュ停止(暗くする) |
カーソルの点滅を終了し、カラーを「R80/G80/B80」に変え、【イベント処理中断】を実行。 |
|
307-312 |
▼ 座標計算 |
カーソルの表示位置を設定。
表示の基点はピクチャの中心になります。 |
|
314-315 |
カーソルを表示し、点滅を実行。 |