WOLF RPGエディター(ウディタ)/自作メニュー【サイトトップへ戻る】
■自作アイテムメニュー:[横2×縦12]に改造
(更新:2024/06/01)


基礎ページ(自作アイテムメニューを作る)で作成した「横1×縦12」を「横2×縦12」に改造します。



基礎ページをご覧頂いていない場合は、先に基礎ページをご覧ください。
【自作アイテムメニューを作るのページを開く】

ショートカット
■改造内容の確認
■カーソルの移動仕様について
■「横1×縦12」を「横2×縦12」に改造
■「横2×縦12」を「横3×縦12」に改造


  
■改造内容の確認

基礎ページの「横1×縦12」を改造し、「横2×縦12」を作成します。

また「横2×縦12」を基に「横3×縦12」へ改造する方法も紹介します。



コモンイベントの5〜6行目にある…
■変数操作: CSelf20[横項目数] = 2 + 0
■変数操作: CSelf21[縦項目数] = 12 + 0
の設定を変えると、メニュー画面に表示される項目の数を変える事ができます。

例えば…
■変数操作: CSelf20[横項目数] = 3 + 0
■変数操作: CSelf21[縦項目数] = 8 + 0
と設定すると、「横3×縦8」になります。

一応…
■変数操作: CSelf20[横項目数] = 20 + 0
■変数操作: CSelf21[縦項目数] = 10 + 0
と設定すれば「横20×縦10」なども可能ですが、ピクチャ番号が100項目分しか無いため、
ピクチャ番号を[100〜299][300〜499][500〜699]などに変える必要があります。

なお、設定例の項目数を変えた場合、ウィンドウやカーソルのサイズや表示位置などを修正する必要があります。



当ページの処理には可変DB[一覧表用]が必要です。

可変DB[一覧表用]については、基礎ページをご覧ください。
【自作アイテムメニューを作るのページを開く】



変数とピクチャの一覧は以下をクリックすると表示されます。

【変数とピクチャの一覧(全ページ共通)を表示】


▲トップへ戻る▲


  
■カーソルの移動仕様について

「横2×縦12」のカーソル位置は、左上が「0」、右下が「23」になります。

0 1
2 3
4 5
6 7
8 9
10 11
12 13
14 15
16 17
18 19
20 21
22 23

左右キーを押すと、カーソルは番号順に移動します。



カーソル位置[0][1]で上キーを押した場合は右下へ移動します。

ここで上キー ここで上キー
2 3
4 5
6 7
8 9
10 11
12 13
14 15
16 17
18 19
20 21
22 ここへ移動


カーソル位置[23]にアイテム名が無い場合で、カーソル位置[0][1]で上キー、
またはカーソル位置[20][21]で下キーを押した場合は、カーソル位置[22]へ移動します。

ここで上キー ここで上キー
2 3
4 5
6 7
8 9
10 11
12 13
14 15
16 17
18 19
ここで下キー ここで下キー
ここへ移動 項目なし


横3以上の場合は、右寄せで移動します。

0 1 ここで上キー
3 4 5
6 7 8
9 10 11
12 13 14
15 16 17
18 19 ここで下キー
21 ここへ移動 項目なし



最下行で下キーを押した場合はカーソル位置[0]へ移動します。

ここへ移動 1
2 3
4 5
6 7
8 9
10 11
12 13
14 15
16 17
18 19
20 21
ここで下キー ここで下キー


▲トップへ戻る▲


  
■「横1×縦12」を「横2×縦12」に改造

「横1×縦12」を「横2×縦12」に改造します。





▼カーソル位置[0]のX表示位置とカーソルの横の移動量


ピクチャー
番号 使用内容 位置 X1列目 X2列目
0 ウィンドウ画像 中心 160 120
10 カーソル画像 左上 26 160 (表示行×16)+24
20 スクロール可能を示すアイコン[▲] 中心 160 19
21 スクロール可能を示すアイコン[▼] 中心 160 221
100〜199 アイテム名 左上 30 164 (表示行×16)+26
200〜299 アイテム名と所持数の間に表示する「×」 左上 129 263 (表示行×16)+26
300〜399 所持数 右上 156 290 (表示行×16)+26



主な改造内容は以下のとおりです。
※「行」は改造設定後の行数です。

改造内容
5 横項目数を設定。
18 横項目数×縦項目数」を計算してセルフ変数[22:画面上項目数]に設定。
21 ウィンドウの横サイズを「284」に変更。
72-76 ▼ ■■■■■スクロールできる最大数を設定
スクロールできる最大行数の設定にて、横2以上に対応。
96-99 セルフ変数[43〜46]セルフ変数[50〜53]へ変更し、
X表示位置を「67」ピクセル左に移動させます。
設定例では…
■変数操作: CSelf50[左上X[100〜]] = 30 + 0
と設定しないで…
■変数操作: CSelf50[左上X[100〜]] = 97 - 67
と設定して、67ピクセル左に移動させています。
こうする事で「97−67=30」と言った計算をして設定する必要が無くなり、
また元々の数値が残っているので、設定内容も分かりやすくなります。
※「30 + 0」で設定しても問題ありません。
100 可変DB[一覧表用]から最初に呼び出すデータIDにスクロールした行数を設定する際、
スクロールした行数×横項目数」で設定し、横2以上に対応。
101・129 101行目セルフ変数[38:一覧表示済み数]を「0」に初期化。
129行目セルフ変数[38:一覧表示済み数]に「1」を加算。
このセルフ変数[38:一覧表示済み数]はアイテム名を表示する度に「加算1」を実行し、
次にアイテム名を表示する時の縦横の位置を計算する時に使います。
セルフ変数[38:一覧表示済み数]に「余剰2」を設定する事で値が「0」か「1」となり、
0=左の列に表示」「1=右の列に表示」となります。
またセルフ変数[38:一覧表示済み数]に「除算2」を設定する事で、
何行目(0〜11)が算出されます。
102 ループ回数の設定をセルフ変数[22:画面上項目数]に変更。
112-119 アイテム名の表示位置をセルフ変数[50〜53]を基にセルフ変数[43〜46]へ設定。
132-141 ▼ ■■■■■最下行で項目が存在しない位置へカーソルを移動させた時の補正
以下の表のように、アイテム名が無い最下行の右側にカーソルを移動させた場合、
カーソル位置が左へ移動するように設定します。
0 1
2 3
4 5
6 7
8 9
10 11
12 13
14 15
16 17
18 19
20 ここで下キー
ここへ移動 項目なし
142-149 ▼ ■■■■■カーソル表示
カーソル位置の設定を横2以上に対応。
154 【キー入力】にて、上下キーのみだった設定を「4方向」に変更。
179-225 横2以上に対応した上下キーの処理に変更。
226-268 左右キーの処理を追加。
281 カーソル位置+スクロールした行」としていた設定を、
カーソル位置+スクロールした行×横項目数」に変更。



【イベントコード表示】【コモン出力ファイル】

■「横1×縦12」→「横2×縦12」

▼ ■■■■■■■■■■■■■■■■■■■■初期設定
▼ ■■■■■アイテムIDを保存する可変DB
■DB読込(可変): CSelf30[保存可変:タイプID] = 可変DB[タイプ一覧表用(20) のタイプ番号]
■変数操作: CSelf31[保存可変:項目ID] = 0 + 0
▼ ■■■■■一覧の表示数
■変数操作: CSelf20[横項目数] = 2 + 0
■変数操作: CSelf21[縦項目数] = 12 + 0
▼ ■■■■■ピクチャ番号
■変数操作: CSelf55[基本ピクチャ[0]ウィンドウ] = 0 + 0
■変数操作: CSelf59[ピクチャ[10]カーソル] = CSelf55[基本ピクチャ[0]ウィンドウ] + 10
■変数操作: CSelf61[ピクチャ[20]▲] = CSelf55[基本ピクチャ[0]ウィンドウ] + 20
■変数操作: CSelf62[ピクチャ[21]▼] = CSelf55[基本ピクチャ[0]ウィンドウ] + 21
■変数操作: CSelf64[ピクチャ[100]アイテム名] = CSelf55[基本ピクチャ[0]ウィンドウ] + 100
■変数操作: CSelf65[ピクチャ[200]×] = CSelf55[基本ピクチャ[0]ウィンドウ] + 200
■変数操作: CSelf66[ピクチャ[300]所持数] = CSelf55[基本ピクチャ[0]ウィンドウ] + 300
■変数操作: CSelf67[ピクチャ[399]消去] = CSelf55[基本ピクチャ[0]ウィンドウ] + 399
▼ ■■■■■変数の値を初期化
■変数操作: CSelf12[起動時キー押し禁止] = 1 + 0
■変数操作: CSelf22[画面上項目数] = CSelf20[横項目数] * CSelf21[縦項目数]
■変数操作: CSelf24[カーソル位置] = 0 + 0
▼ ■■■■■■■■■■■■■■■■■■■■ウィンドウ・カーソルを表示
■ピクチャ表示:CSelf55[基本ピクチャ[0]ウィンドウ] [中心]ウィンドウ「SystemFile/WindowBase_amania.png」サイズ[284,206]
       X:160 Y:120 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:CSelf59[ピクチャ[10]カーソル] [左上]ウィンドウ「SystemFile/CursorBase.png」サイズ[134,16]
       X:93 Y:24 / 0(0)フレーム / パターン 1 / 透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャエフェクト:CSelf59[ピクチャ[10]カーソル] [点滅A(明滅)] R100/G100/B100 明滅間隔(30)フレーム
▼ ■■■■■■■■■■■■■■■■■■■■所持アイテムをチェック
■可変DB書込:[タイプ CSelf30[保存可変:タイプID](-) を初期化]
■変数操作: CSelf32[可変DB登録数] = 0 + 0
▼ ■■■■■アイテムの所持数1以上→可変DBに「20000+データID」を保存
■DB読込(可変): CSelf33[全データ数] = 可変DB[タイプ┣所持アイテム個数(7)のデータ数]
■変数操作: CSelf34[データID] = 0 + 0
■回数付きループ [ CSelf33[全データ数] ]回
|■DB読込(可変): CSelf15[一時:所持数・拡大率・幅] =
         可変DB[ ┣所持アイテム個数 : CSelf34[データID] : 0 ] (7 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf15[一時:所持数・拡大率・幅] が 1 以上
|-◇分岐: 【1】 [ CSelf15[一時:所持数・拡大率・幅] が 1 以上 ]の場合↓
||■変数操作: CSelf35[アイテムID] = CSelf34[データID] + 20000
||■可変DB書込:DB[ CSelf30[保存可変:タイプID] : CSelf32[可変DB登録数] : CSelf31[保存可変:項目ID] ]
        (- : - : -) = CSelf35[アイテムID]
||■変数操作: CSelf32[可変DB登録数] += 1 + 0
||■
|◇分岐終了◇
|■変数操作: CSelf34[データID] += 1 + 0
|■
◇ループここまで◇◇
▼ ■■■■■武器の所持数1以上→可変DBに「30000+データID」を保存
■DB読込(可変): CSelf33[全データ数] = 可変DB[タイプ┣所持武器個数(8)のデータ数]
■変数操作: CSelf34[データID] = 0 + 0
■回数付きループ [ CSelf33[全データ数] ]回
|■DB読込(可変): CSelf15[一時:所持数・拡大率・幅] =
         可変DB[ ┣所持武器個数 : CSelf34[データID] : 0 ] (8 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf15[一時:所持数・拡大率・幅] が 1 以上
|-◇分岐: 【1】 [ CSelf15[一時:所持数・拡大率・幅] が 1 以上 ]の場合↓
||■変数操作: CSelf35[アイテムID] = CSelf34[データID] + 30000
||■可変DB書込:DB[ CSelf30[保存可変:タイプID] : CSelf32[可変DB登録数] : CSelf31[保存可変:項目ID] ]
        (- : - : -) = CSelf35[アイテムID]
||■変数操作: CSelf32[可変DB登録数] += 1 + 0
||■
|◇分岐終了◇
|■変数操作: CSelf34[データID] += 1 + 0
|■
◇ループここまで◇◇
▼ ■■■■■防具の所持数1以上→可変DBに「40000+データID」を保存
■DB読込(可変): CSelf33[全データ数] = 可変DB[タイプ┗所持防具個数(9)のデータ数]
■変数操作: CSelf34[データID] = 0 + 0
■回数付きループ [ CSelf33[全データ数] ]回
|■DB読込(可変): CSelf15[一時:所持数・拡大率・幅] =
         可変DB[ ┗所持防具個数 : CSelf34[データID] : 0 ] (9 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf15[一時:所持数・拡大率・幅] が 1 以上
|-◇分岐: 【1】 [ CSelf15[一時:所持数・拡大率・幅] が 1 以上 ]の場合↓
||■変数操作: CSelf35[アイテムID] = CSelf34[データID] + 40000
||■可変DB書込:DB[ CSelf30[保存可変:タイプID] : CSelf32[可変DB登録数] : CSelf31[保存可変:項目ID] ]
        (- : - : -) = CSelf35[アイテムID]
||■変数操作: CSelf32[可変DB登録数] += 1 + 0
||■
|◇分岐終了◇
|■変数操作: CSelf34[データID] += 1 + 0
|■
◇ループここまで◇◇
▼ ■■■■■スクロールできる最大数を設定
■変数操作: CSelf28[スクロール最大行] = CSelf32[可変DB登録数] - CSelf22[画面上項目数]
■変数操作: CSelf28[スクロール最大行] 下限= 0 + 0
■変数操作: CSelf28[スクロール最大行] += CSelf20[横項目数] - 1
■変数操作: CSelf28[スクロール最大行] /= CSelf20[横項目数] + 0

▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
●ラベル地点「表示更新」 <<<<<<<<<<<<<<<<<<<<<<<<★
▼ ■■■■■[▲][▼]を表示
■ピクチャ消去:CSelf61[ピクチャ[20]▲] 〜 CSelf62[ピクチャ[21]▼] / 0(0)フレーム
■条件分岐(変数): 【1】 CSelf27[スクロール行数] が 1 以上
-◇分岐: 【1】 [ CSelf27[スクロール行数] が 1 以上 ]の場合↓
|■ピクチャ表示:CSelf61[ピクチャ[20]▲] [中心]文字列[\f[10]▲] X:160 Y:19 / 0(0)フレーム / パターン 1 /
       透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf27[スクロール行数] が CSelf28[スクロール最大行] 未満
-◇分岐: 【1】 [ CSelf27[スクロール行数] が CSelf28[スクロール最大行] 未満 ]の場合↓
|■ピクチャ表示:CSelf62[ピクチャ[21]▼] [中心]文字列[\f[10]▼] X:160 Y:221 / 0(0)フレーム / パターン 1 /
       透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇
▼ ■■■■■アイテム名を表示
■ピクチャ消去:CSelf64[ピクチャ[100]アイテム名] 〜 CSelf67[ピクチャ[399]消去] / 0(0)フレーム
■変数操作: CSelf40[ピクチャ処理[100〜]] = CSelf64[ピクチャ[100]アイテム名] + 0
■変数操作: CSelf41[ピクチャ処理[200〜]] = CSelf65[ピクチャ[200]×] + 0
■変数操作: CSelf42[ピクチャ処理[300〜]] = CSelf66[ピクチャ[300]所持数] + 0
■変数操作: CSelf50[左上X[100〜]] = 97 - 67
■変数操作: CSelf51[左上X[200〜]] = 196 - 67
■変数操作: CSelf52[左上X[300〜]] = 223 - 67
■変数操作: CSelf53[左上Y] = 26 + 0
■変数操作: CSelf34[データID] = CSelf27[スクロール行数] * CSelf20[横項目数]
■変数操作: CSelf38[一覧表示済み数] = 0 + 0

■回数付きループ [ CSelf22[画面上項目数] ]回
|■DB読込(可変): CSelf35[アイテムID] =
         可変DB[CSelf30[保存可変:タイプID]:CSelf34[データID]:CSelf31[保存可変:項目ID]](- : - : -)
|■条件分岐(変数): 【1】 CSelf35[アイテムID] が 0 と同じ
|-◇分岐: 【1】 [ CSelf35[アイテムID] が 0 と同じ ]の場合↓
||■ループ中断
||■
|◇分岐終了◇
|■変数操作: CSelf36[タイプID:ユーザ[2-4]]〜CSelf37[タイプID:可変[7-9]] = CSelf35[アイテムID] / 10000
|■変数操作: CSelf37[タイプID:可変[7-9]] += 5 + 0
|■変数操作: CSelf35[アイテムID] %= 10000 + 0
|■変数操作: CSelf43[X位置[100〜]]〜CSelf45[X位置[300〜]] = CSelf38[一覧表示済み数] % CSelf20[横項目数]
|■変数操作: CSelf43[X位置[100〜]]〜CSelf45[X位置[300〜]] *= 134 + 0
|■変数操作: CSelf43[X位置[100〜]] += CSelf50[左上X[100〜]] + 0
|■変数操作: CSelf44[X位置[200〜]] += CSelf51[左上X[200〜]] + 0
|■変数操作: CSelf45[X位置[300〜]] += CSelf52[左上X[300〜]] + 0
|■変数操作: CSelf46[Y位置] = CSelf38[一覧表示済み数] / CSelf20[横項目数]
|■変数操作: CSelf46[Y位置] *= 16 + 0
|■変数操作: CSelf46[Y位置] += CSelf53[左上Y] + 0

|■ピクチャ表示:CSelf40[ピクチャ処理[100〜]] [左上]文字列[\udb[\cself[36]:\cself[35]:0]]
       X:CSelf43[X位置[100〜]] Y:CSelf46[Y位置] / 0(0)フレーム / パターン 1 /
       透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ピクチャ表示:CSelf41[ピクチャ処理[200〜]] [左上]文字列[×] X:CSelf44[X位置[200〜]] Y:CSelf46[Y位置] /
       0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ピクチャ表示:CSelf42[ピクチャ処理[300〜]] [右上]文字列[\cdb[\cself[37]:\cself[35]:0]]
       X:CSelf45[X位置[300〜]] Y:CSelf46[Y位置] / 0(0)フレーム / パターン 1 /
       透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■変数操作: CSelf15[一時:所持数・拡大率・幅] = 96 * 100
|■変数操作+: CSelf15[一時:所持数・拡大率・幅] /= ピクチャ:CSelf40[ピクチャ処理[100〜]] の 画像サイズ(横)
|■変数操作: CSelf15[一時:所持数・拡大率・幅] 上限= 100 + 0
|■ピクチャ移動:CSelf40[ピクチャ処理[100〜]] 相対X:0 Y:0 / 0(0)フレーム / パターン 同値 /
       透 同値 / 表示形式:同値 / 角 同値 / 拡 CSelf15[一時:所持数・拡大率・幅]x100% / カラー 同値
|■変数操作: CSelf40[ピクチャ処理[100〜]]〜CSelf42[ピクチャ処理[300〜]] += 1 + 0
|■変数操作: CSelf46[Y位置] += 16 + 0<削除
|■変数操作: CSelf34[データID] += 1 + 0
|■変数操作: CSelf38[一覧表示済み数] += 1 + 0
|■
◇ループここまで◇◇
▼ ■■■■■最下行で項目が存在しない位置へカーソルを移動させた時の補正
■変数操作: CSelf16[一時:カーソル位置+行] = CSelf24[カーソル位置] + 0
■変数操作: CSelf16[一時:カーソル位置+行] += CSelf27[スクロール行数] * CSelf20[横項目数]
■条件分岐(変数): 【1】 CSelf16[一時:カーソル位置+行] が CSelf32[可変DB登録数] 以上
-◇分岐: 【1】 [ CSelf16[一時:カーソル位置+行] が CSelf32[可変DB登録数] 以上 ]の場合↓
|■変数操作: CSelf24[カーソル位置] = CSelf32[可変DB登録数] - 1
|■変数操作: CSelf24[カーソル位置] -= CSelf28[スクロール最大行] * CSelf20[横項目数]
|■変数操作: CSelf24[カーソル位置] 下限= 0 + 0
|■
◇分岐終了◇
▼ ■■■■■カーソルを表示
■変数操作: CSelf43[X位置[100〜]] = CSelf24[カーソル位置] % CSelf20[横項目数]
■変数操作: CSelf43[X位置[100〜]] *= 134 + 0
■変数操作: CSelf43[X位置[100〜]] += 93 - 67

■変数操作: CSelf46[Y位置] = CSelf24[カーソル位置] / CSelf20[横項目数]
■変数操作: CSelf46[Y位置] *= 16 + 0

■変数操作: CSelf46[Y位置] += 24 + 0
■ピクチャ移動:CSelf59[ピクチャ[10]カーソル] X:CSelf43[X位置[100〜]] Y:CSelf46[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 表示形式:同値 / 角 0 / 拡 同値 / カラー 同値
▼ ■■■■■■■■■■■■■■■■■■■■キー処理
■ループ開始
|■ウェイト:1 フレーム
|■変数操作: CSelf11[キー待ち時間] -= 1 + 0
|■キー入力:CSelf10[キー入力・マウス操作] 4方向 決定(10) キャンセル(11)
|■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 0 と同じ
          【2】 CSelf12[起動時キー押し禁止] が 1 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 0 と同じ ]の場合↓
||■変数操作: CSelf11[キー待ち時間]〜CSelf12[起動時キー押し禁止] = 0 + 0
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf12[起動時キー押し禁止] が 1 と同じ ]の場合↓
||■ループ開始へ戻る
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 10 と同じ
          【2】 CSelf10[キー入力・マウス操作] が 11 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 10 と同じ ]の場合↓
||●ラベル「決定」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
||■
|-◇分岐: 【2】 [ CSelf10[キー入力・マウス操作] が 11 と同じ ]の場合↓
||●ラベル「キャンセル」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf11[キー待ち時間] が 1 以上
|-◇分岐: 【1】 [ CSelf11[キー待ち時間] が 1 以上 ]の場合↓
||■ループ開始へ戻る
||■
|◇分岐終了◇
|▼ ■■■■■■■■■■カーソル移動処理
|■変数操作: CSelf11[キー待ち時間] = 12 + 0
|■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 8 と同じ
          【2】 CSelf10[キー入力・マウス操作] が 2 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 8 と同じ ]の場合↓
||▼ ■■■■■上キーを押した
||■変数操作: CSelf17[一時:カーソル位置計算] = CSelf24[カーソル位置] / CSelf20[横項目数]
||■条件分岐(変数): 【1】 CSelf17[一時:カーソル位置計算] が 1 以上
          【2】 CSelf27[スクロール行数] が 1 以上
||-◇分岐: 【1】 [ CSelf17[一時:カーソル位置計算] が 1 以上 ]の場合↓
|||■変数操作: CSelf24[カーソル位置] -= CSelf20[横項目数] + 0
|||■
||-◇分岐: 【2】 [ CSelf27[スクロール行数] が 1 以上 ]の場合↓
|||■変数操作: CSelf27[スクロール行数] -= 1 + 0
|||■
||-◇上記以外
|||■変数操作: CSelf24[カーソル位置] = CSelf32[可変DB登録数] - 1
|||■変数操作: CSelf24[カーソル位置] -= CSelf28[スクロール最大行] * CSelf20[横項目数]
|||■変数操作: CSelf27[スクロール行数] = CSelf28[スクロール最大行] + 0
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ CSelf10[キー入力・マウス操作] が 2 と同じ ]の場合↓
||▼ ■■■■■下キーを押した
||■変数操作: CSelf24[カーソル位置] += CSelf20[横項目数] + 0
||■変数操作: CSelf17[一時:カーソル位置計算] = CSelf24[カーソル位置] / CSelf20[横項目数]
||■条件分岐(変数): 【1】 CSelf17[一時:カーソル位置計算] が CSelf21[縦項目数] 以上
          【2】 CSelf24[カーソル位置] が CSelf32[可変DB登録数] 以上
||-◇分岐: 【1】 [ CSelf17[一時:カーソル位置計算] が CSelf21[縦項目数] 以上 ]の場合↓
|||■条件分岐(変数): 【1】 CSelf27[スクロール行数] が CSelf28[スクロール最大行] 未満
|||-◇分岐: 【1】 [ CSelf27[スクロール行数] が CSelf28[スクロール最大行] 未満 ]の場合↓
||||■変数操作: CSelf24[カーソル位置] -= CSelf20[横項目数] + 0
||||■変数操作: CSelf27[スクロール行数] += 1 + 0
||||■
|||-◇上記以外
||||■変数操作: CSelf24[カーソル位置] = 0 + 0
||||■変数操作: CSelf27[スクロール行数] = 0 + 0
||||■
|||◇分岐終了◇
|||■
||-◇分岐: 【2】 [ CSelf24[カーソル位置] が CSelf32[可変DB登録数] 以上 ]の場合↓
|||■変数操作: CSelf17[一時:カーソル位置計算] *= CSelf20[横項目数] + 0
|||■条件分岐(変数): 【1】 CSelf17[一時:カーソル位置計算] が CSelf32[可変DB登録数] 以上
|||-◇分岐: 【1】 [ CSelf17[一時:カーソル位置計算] が CSelf32[可変DB登録数] 以上 ]の場合↓
||||■変数操作: CSelf24[カーソル位置] = 0 + 0<設定位置を移動
||||■変数操作: CSelf27[スクロール行数] = 0 + 0
||||■
|||◇分岐終了◇

|||■
||◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 4 と同じ
          【2】 CSelf10[キー入力・マウス操作] が 6 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 4 と同じ ]の場合↓
||▼ ■■■■■左キーを押した
||■条件分岐(変数): 【1】 CSelf24[カーソル位置] が 1 以上
          【2】 CSelf27[スクロール行数] が 1 以上
||-◇分岐: 【1】 [ CSelf24[カーソル位置] が 1 以上 ]の場合↓
|||■変数操作: CSelf24[カーソル位置] -= 1 + 0
|||■
||-◇分岐: 【2】 [ CSelf27[スクロール行数] が 1 以上 ]の場合↓
|||■変数操作: CSelf24[カーソル位置] = CSelf20[横項目数] - 1
|||■変数操作: CSelf27[スクロール行数] -= 1 + 0
|||■
||-◇上記以外
|||■変数操作: CSelf24[カーソル位置] = CSelf22[画面上項目数] - 1
|||■変数操作: CSelf27[スクロール行数] = CSelf28[スクロール最大行] + 0
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ CSelf10[キー入力・マウス操作] が 6 と同じ ]の場合↓
||▼ ■■■■■右キーを押した
||■変数操作: CSelf24[カーソル位置] += 1 + 0
||■変数操作: CSelf17[一時:カーソル位置計算] = CSelf27[スクロール行数] * CSelf20[横項目数]
||■変数操作: CSelf17[一時:カーソル位置計算] += CSelf24[カーソル位置] + 0
||■条件分岐(変数): 【1】 CSelf17[一時:カーソル位置計算] が CSelf32[可変DB登録数] 以上
          【2】 CSelf24[カーソル位置] が CSelf22[画面上項目数] 以上
||-◇分岐: 【1】 [ CSelf17[一時:カーソル位置計算] が CSelf32[可変DB登録数] 以上 ]の場合↓
|||■変数操作: CSelf24[カーソル位置] = 0 + 0
|||■変数操作: CSelf27[スクロール行数] = 0 + 0
|||■
||-◇分岐: 【2】 [ CSelf24[カーソル位置] が CSelf22[画面上項目数] 以上 ]の場合↓
|||■条件分岐(変数): 【1】 CSelf27[スクロール行数] が CSelf28[スクロール最大行] 未満
|||-◇分岐: 【1】 [ CSelf27[スクロール行数] が CSelf28[スクロール最大行] 未満 ]の場合↓
||||■変数操作: CSelf24[カーソル位置] = CSelf22[画面上項目数] + 0
||||■変数操作: CSelf24[カーソル位置] -= CSelf20[横項目数] - 1
||||■変数操作: CSelf27[スクロール行数] += 1 + 0
||||■
|||-◇上記以外
||||■変数操作: CSelf24[カーソル位置] = 0 + 0
||||■変数操作: CSelf27[スクロール行数] = 0 + 0
||||■
|||◇分岐終了◇
|||■
||◇分岐終了◇

||■
|◇分岐終了◇
|●ラベル「表示更新」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|■
◇ループここまで◇◇
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■回数付きループ [ 0 ]回
|▼ ■■■■■■■■■■決定した時の処理
|●ラベル地点「決定」 <<<<<<<<<<<<<<<<<<<<<<<<★
|■条件分岐(変数): 【1】 CSelf32[可変DB登録数] が 0 と同じ
|-◇分岐: 【1】 [ CSelf32[可変DB登録数] が 0 と同じ ]の場合↓
||■ループ中断
||■
|◇分岐終了◇
|■変数操作: CSelf24[カーソル位置] += CSelf27[スクロール行数] * CSelf20[横項目数]
|■DB読込(可変): CSelf35[アイテムID] =
         可変DB[CSelf30[保存可変:タイプID]:CSelf24[カーソル位置]:CSelf31[保存可変:項目ID]](-: - :-)
|■変数操作: CSelf36[タイプID:ユーザ[2-4]] = CSelf35[アイテムID] / 10000
|■変数操作: CSelf35[アイテムID] %= 10000 + 0
|■文章:「\udb[\cself[36]:\cself[35]:0]」を決定。
|■
◇ループここまで◇◇
■回数付きループ [ 0 ]回
|▼ ■■■■■■■■■■キャンセルした時の処理
|●ラベル地点「キャンセル」 <<<<<<<<<<<<<<<<<<<<<<<<★
|■
◇ループここまで◇◇
▼ ■■■■■■■■■■終了処理
■ピクチャ消去:CSelf55[基本ピクチャ[0]ウィンドウ] 〜 CSelf67[ピクチャ[399]消去] / 0(0)フレーム
■ウェイト:1 フレーム

以上で設定完了です。


▲トップへ戻る▲


  
■「横2×縦12」を「横3×縦12」に改造

「横2×縦12」を「横3×縦12」に改造します。



アイテム名の文字数は全角5文字までとなります。

なお、上図のアイテム名の表示は、横拡大率が「95%」と若干縮小されて表示されています。



▼カーソル位置[0]のX表示位置とカーソルの横の移動量


ピクチャー
番号 使用内容 位置 X1列目 X2列目 X3列目
0 ウィンドウ画像 中心 160 120
10 カーソル画像 左上 13 111 209 (表示行×16)+24
20 スクロール可能を示すアイコン[▲] 中心 160 19
21 スクロール可能を示すアイコン[▼] 中心 160 221
100〜199 アイテム名 左上 17 115 213 (表示行×16)+26
200〜299 アイテム名と所持数の間に表示する「×」 左上 80 178 276 (表示行×16)+26
300〜399 所持数 右上 107 205 303 (表示行×16)+26



主な改造内容は以下のとおりです。

改造内容
1 横の項目数を「3」に変更。
4 ウィンドウの横サイズを「310」に変更。
5 カーソルの横サイズを「98」に変更。
96-98 アイテム名、「×」、所持数のX表示位置を調整。
113 隣りの項目までの横の距離をカーソルの横サイズと同じ「98」に変更。
123 アイテム名の全角5文字のサイズ「60」に修正。
※ゲーム画面が[320×240[x2]]の時のフォントサイズが「12」であるため、
 「全角5文字×12=60」になります。
フォント「Meiryo」で「アイテム01」を表示すると、
「全角1文字=半角2文字」ではないの影響で、横拡大率が「95%」になります。
この122行目の「60」を「63」に修正すると、
「アイテム01」でも横拡大率が「100%」で表示されます。
但し右にある「×」の表示に近くなってしまうので、
95行目の「17 + 0」の設定を「16 + 0」に変えるなど、
表示位置の微調整が必要になります。
144-145 カーソルのX表示位置の設定を変更。



【イベントコード表示】【コモン出力ファイル】

■「横2×縦12」→「横3×縦12」

▼ ■■■■■■■■■■■■■■■■■■■■初期設定
▼ ■■■■■アイテムIDを保存する可変DB
■DB読込(可変): CSelf30[保存可変:タイプID] = 可変DB[タイプ一覧表用(20) のタイプ番号]
■変数操作: CSelf31[保存可変:項目ID] = 0 + 0
▼ ■■■■■一覧の表示数
■変数操作: CSelf20[横項目数] = 3 + 0
■変数操作: CSelf21[縦項目数] = 12 + 0
▼ ■■■■■ピクチャ番号
■変数操作: CSelf55[基本ピクチャ[0]ウィンドウ] = 0 + 0
■変数操作: CSelf59[ピクチャ[10]カーソル] = CSelf55[基本ピクチャ[0]ウィンドウ] + 10
■変数操作: CSelf61[ピクチャ[20]▲] = CSelf55[基本ピクチャ[0]ウィンドウ] + 20
■変数操作: CSelf62[ピクチャ[21]▼] = CSelf55[基本ピクチャ[0]ウィンドウ] + 21
■変数操作: CSelf64[ピクチャ[100]アイテム名] = CSelf55[基本ピクチャ[0]ウィンドウ] + 100
■変数操作: CSelf65[ピクチャ[200]×] = CSelf55[基本ピクチャ[0]ウィンドウ] + 200
■変数操作: CSelf66[ピクチャ[300]所持数] = CSelf55[基本ピクチャ[0]ウィンドウ] + 300
■変数操作: CSelf67[ピクチャ[399]消去] = CSelf55[基本ピクチャ[0]ウィンドウ] + 399
▼ ■■■■■変数の値を初期化
■変数操作: CSelf12[起動時キー押し禁止] = 1 + 0
■変数操作: CSelf22[画面上項目数] = CSelf20[横項目数] * CSelf21[縦項目数]
■変数操作: CSelf24[カーソル位置] = 0 + 0
▼ ■■■■■■■■■■■■■■■■■■■■ウィンドウ・カーソルを表示
■ピクチャ表示:CSelf55[基本ピクチャ[0]ウィンドウ] [中心]ウィンドウ「SystemFile/WindowBase_amania.png」サイズ[310,206]
       X:160 Y:120 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:CSelf59[ピクチャ[10]カーソル] [左上]ウィンドウ「SystemFile/CursorBase.png」サイズ[98,16]
       X:93 Y:24 / 0(0)フレーム / パターン 1 / 透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャエフェクト:CSelf59[ピクチャ[10]カーソル] [点滅A(明滅)] R100/G100/B100 明滅間隔(30)フレーム
▼ ■■■■■■■■■■■■■■■■■■■■所持アイテムをチェック
■可変DB書込:[タイプ CSelf30[保存可変:タイプID](-) を初期化]
■変数操作: CSelf32[可変DB登録数] = 0 + 0
▼ ■■■■■アイテムの所持数1以上→可変DBに「20000+データID」を保存
■DB読込(可変): CSelf33[全データ数] = 可変DB[タイプ┣所持アイテム個数(7)のデータ数]
■変数操作: CSelf34[データID] = 0 + 0
■回数付きループ [ CSelf33[全データ数] ]回
|■DB読込(可変): CSelf15[一時:所持数・拡大率・幅] =
         可変DB[ ┣所持アイテム個数 : CSelf34[データID] : 0 ] (7 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf15[一時:所持数・拡大率・幅] が 1 以上
|-◇分岐: 【1】 [ CSelf15[一時:所持数・拡大率・幅] が 1 以上 ]の場合↓
||■変数操作: CSelf35[アイテムID] = CSelf34[データID] + 20000
||■可変DB書込:DB[ CSelf30[保存可変:タイプID] : CSelf32[可変DB登録数] : CSelf31[保存可変:項目ID] ]
        (- : - : -) = CSelf35[アイテムID]
||■変数操作: CSelf32[可変DB登録数] += 1 + 0
||■
|◇分岐終了◇
|■変数操作: CSelf34[データID] += 1 + 0
|■
◇ループここまで◇◇
▼ ■■■■■武器の所持数1以上→可変DBに「30000+データID」を保存
■DB読込(可変): CSelf33[全データ数] = 可変DB[タイプ┣所持武器個数(8)のデータ数]
■変数操作: CSelf34[データID] = 0 + 0
■回数付きループ [ CSelf33[全データ数] ]回
|■DB読込(可変): CSelf15[一時:所持数・拡大率・幅] =
         可変DB[ ┣所持武器個数 : CSelf34[データID] : 0 ] (8 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf15[一時:所持数・拡大率・幅] が 1 以上
|-◇分岐: 【1】 [ CSelf15[一時:所持数・拡大率・幅] が 1 以上 ]の場合↓
||■変数操作: CSelf35[アイテムID] = CSelf34[データID] + 30000
||■可変DB書込:DB[ CSelf30[保存可変:タイプID] : CSelf32[可変DB登録数] : CSelf31[保存可変:項目ID] ]
        (- : - : -) = CSelf35[アイテムID]
||■変数操作: CSelf32[可変DB登録数] += 1 + 0
||■
|◇分岐終了◇
|■変数操作: CSelf34[データID] += 1 + 0
|■
◇ループここまで◇◇
▼ ■■■■■防具の所持数1以上→可変DBに「40000+データID」を保存
■DB読込(可変): CSelf33[全データ数] = 可変DB[タイプ┗所持防具個数(9)のデータ数]
■変数操作: CSelf34[データID] = 0 + 0
■回数付きループ [ CSelf33[全データ数] ]回
|■DB読込(可変): CSelf15[一時:所持数・拡大率・幅] =
         可変DB[ ┗所持防具個数 : CSelf34[データID] : 0 ] (9 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf15[一時:所持数・拡大率・幅] が 1 以上
|-◇分岐: 【1】 [ CSelf15[一時:所持数・拡大率・幅] が 1 以上 ]の場合↓
||■変数操作: CSelf35[アイテムID] = CSelf34[データID] + 40000
||■可変DB書込:DB[ CSelf30[保存可変:タイプID] : CSelf32[可変DB登録数] : CSelf31[保存可変:項目ID] ]
        (- : - : -) = CSelf35[アイテムID]
||■変数操作: CSelf32[可変DB登録数] += 1 + 0
||■
|◇分岐終了◇
|■変数操作: CSelf34[データID] += 1 + 0
|■
◇ループここまで◇◇
▼ ■■■■■スクロールできる最大数を設定
■変数操作: CSelf28[スクロール最大行] = CSelf32[可変DB登録数] - CSelf22[画面上項目数]
■変数操作: CSelf28[スクロール最大行] 下限= 0 + 0
■変数操作: CSelf28[スクロール最大行] += CSelf20[横項目数] - 1
■変数操作: CSelf28[スクロール最大行] /= CSelf20[横項目数] + 0
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
●ラベル地点「表示更新」 <<<<<<<<<<<<<<<<<<<<<<<<★
▼ ■■■■■[▲][▼]を表示
■ピクチャ消去:CSelf61[ピクチャ[20]▲] 〜 CSelf62[ピクチャ[21]▼] / 0(0)フレーム
■条件分岐(変数): 【1】 CSelf27[スクロール行数] が 1 以上
-◇分岐: 【1】 [ CSelf27[スクロール行数] が 1 以上 ]の場合↓
|■ピクチャ表示:CSelf61[ピクチャ[20]▲] [中心]文字列[\f[10]▲] X:160 Y:19 / 0(0)フレーム / パターン 1 /
       透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf27[スクロール行数] が CSelf28[スクロール最大行] 未満
-◇分岐: 【1】 [ CSelf27[スクロール行数] が CSelf28[スクロール最大行] 未満 ]の場合↓
|■ピクチャ表示:CSelf62[ピクチャ[21]▼] [中心]文字列[\f[10]▼] X:160 Y:221 / 0(0)フレーム / パターン 1 /
       透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇
▼ ■■■■■アイテム名を表示
■ピクチャ消去:CSelf64[ピクチャ[100]アイテム名] 〜 CSelf67[ピクチャ[399]消去] / 0(0)フレーム
■変数操作: CSelf40[ピクチャ処理[100〜]] = CSelf64[ピクチャ[100]アイテム名] + 0
■変数操作: CSelf41[ピクチャ処理[200〜]] = CSelf65[ピクチャ[200]×] + 0
■変数操作: CSelf42[ピクチャ処理[300〜]] = CSelf66[ピクチャ[300]所持数] + 0
■変数操作: CSelf50[左上X[100〜]] = 17 + 0
■変数操作: CSelf51[左上X[200〜]] = 80 + 0
■変数操作: CSelf52[左上X[300〜]] = 107 + 0
■変数操作: CSelf53[左上Y] = 26 + 0
■変数操作: CSelf34[データID] = CSelf27[スクロール行数] * CSelf20[横項目数]
■変数操作: CSelf38[一覧表示済み数] = 0 + 0
■回数付きループ [ CSelf22[画面上項目数] ]回
|■DB読込(可変): CSelf35[アイテムID] =
         可変DB[CSelf30[保存可変:タイプID]:CSelf34[データID]:CSelf31[保存可変:項目ID]](- : - : -)
|■条件分岐(変数): 【1】 CSelf35[アイテムID] が 0 と同じ
|-◇分岐: 【1】 [ CSelf35[アイテムID] が 0 と同じ ]の場合↓
||■ループ中断
||■
|◇分岐終了◇
|■変数操作: CSelf36[タイプID:ユーザ[2-4]]〜CSelf37[タイプID:可変[7-9]] = CSelf35[アイテムID] / 10000
|■変数操作: CSelf37[タイプID:可変[7-9]] += 5 + 0
|■変数操作: CSelf35[アイテムID] %= 10000 + 0
|■変数操作: CSelf43[X位置[100〜]]〜CSelf45[X位置[300〜]] = CSelf38[一覧表示済み数] % CSelf20[横項目数]
|■変数操作: CSelf43[X位置[100〜]]〜CSelf45[X位置[300〜]] *= 98 + 0
|■変数操作: CSelf43[X位置[100〜]] += CSelf50[左上X[100〜]] + 0
|■変数操作: CSelf44[X位置[200〜]] += CSelf51[左上X[200〜]] + 0
|■変数操作: CSelf45[X位置[300〜]] += CSelf52[左上X[300〜]] + 0
|■変数操作: CSelf46[Y位置] = CSelf38[一覧表示済み数] / CSelf20[横項目数]
|■変数操作: CSelf46[Y位置] *= 16 + 0
|■変数操作: CSelf46[Y位置] += CSelf53[左上Y] + 0
|■ピクチャ表示:CSelf40[ピクチャ処理[100〜]] [左上]文字列[\udb[\cself[36]:\cself[35]:0]]
       X:CSelf43[X位置[100〜]] Y:CSelf46[Y位置] / 0(0)フレーム / パターン 1 /
       透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ピクチャ表示:CSelf41[ピクチャ処理[200〜]] [左上]文字列[×] X:CSelf44[X位置[200〜]] Y:CSelf46[Y位置] /
       0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ピクチャ表示:CSelf42[ピクチャ処理[300〜]] [右上]文字列[\cdb[\cself[37]:\cself[35]:0]]
       X:CSelf45[X位置[300〜]] Y:CSelf46[Y位置] / 0(0)フレーム / パターン 1 /
       透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■変数操作: CSelf15[一時:所持数・拡大率・幅] = 60 * 100
|■変数操作+: CSelf15[一時:所持数・拡大率・幅] /= ピクチャ:CSelf40[ピクチャ処理[100〜]] の 画像サイズ(横)
|■変数操作: CSelf15[一時:所持数・拡大率・幅] 上限= 100 + 0
|■ピクチャ移動:CSelf40[ピクチャ処理[100〜]] 相対X:0 Y:0 / 0(0)フレーム / パターン 同値 /
       透 同値 / 表示形式:同値 / 角 同値 / 拡 CSelf15[一時:所持数・拡大率・幅]x100% / カラー 同値
|■変数操作: CSelf40[ピクチャ処理[100〜]]〜CSelf42[ピクチャ処理[300〜]] += 1 + 0
|■変数操作: CSelf34[データID] += 1 + 0
|■変数操作: CSelf38[一覧表示済み数] += 1 + 0
|■
◇ループここまで◇◇
▼ ■■■■■最下行で項目が存在しない位置へカーソルを移動させた時の補正
■変数操作: CSelf16[一時:カーソル位置+行] = CSelf24[カーソル位置] + 0
■変数操作: CSelf16[一時:カーソル位置+行] += CSelf27[スクロール行数] * CSelf20[横項目数]
■条件分岐(変数): 【1】 CSelf16[一時:カーソル位置+行] が CSelf32[可変DB登録数] 以上
-◇分岐: 【1】 [ CSelf16[一時:カーソル位置+行] が CSelf32[可変DB登録数] 以上 ]の場合↓
|■変数操作: CSelf24[カーソル位置] = CSelf32[可変DB登録数] - 1
|■変数操作: CSelf24[カーソル位置] -= CSelf28[スクロール最大行] * CSelf20[横項目数]
|■変数操作: CSelf24[カーソル位置] 下限= 0 + 0
|■
◇分岐終了◇
▼ ■■■■■カーソルを表示
■変数操作: CSelf43[X位置[100〜]] = CSelf24[カーソル位置] % CSelf20[横項目数]
■変数操作: CSelf43[X位置[100〜]] *= 98 + 0
■変数操作: CSelf43[X位置[100〜]] += 13 + 0
■変数操作: CSelf46[Y位置] = CSelf24[カーソル位置] / CSelf20[横項目数]
■変数操作: CSelf46[Y位置] *= 16 + 0
■変数操作: CSelf46[Y位置] += 24 + 0
■ピクチャ移動:CSelf59[ピクチャ[10]カーソル] X:CSelf43[X位置[100〜]] Y:CSelf46[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 表示形式:同値 / 角 0 / 拡 同値 / カラー 同値
▼ ■■■■■■■■■■■■■■■■■■■■キー処理
■ループ開始
|■ウェイト:1 フレーム
|■変数操作: CSelf11[キー待ち時間] -= 1 + 0
|■キー入力:CSelf10[キー入力・マウス操作] 4方向 決定(10) キャンセル(11)
|■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 0 と同じ
          【2】 CSelf12[起動時キー押し禁止] が 1 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 0 と同じ ]の場合↓
||■変数操作: CSelf11[キー待ち時間]〜CSelf12[起動時キー押し禁止] = 0 + 0
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf12[起動時キー押し禁止] が 1 と同じ ]の場合↓
||■ループ開始へ戻る
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 10 と同じ
          【2】 CSelf10[キー入力・マウス操作] が 11 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 10 と同じ ]の場合↓
||●ラベル「決定」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
||■
|-◇分岐: 【2】 [ CSelf10[キー入力・マウス操作] が 11 と同じ ]の場合↓
||●ラベル「キャンセル」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf11[キー待ち時間] が 1 以上
|-◇分岐: 【1】 [ CSelf11[キー待ち時間] が 1 以上 ]の場合↓
||■ループ開始へ戻る
||■
|◇分岐終了◇
|▼ ■■■■■■■■■■カーソル移動処理
|■変数操作: CSelf11[キー待ち時間] = 12 + 0
|■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 8 と同じ
          【2】 CSelf10[キー入力・マウス操作] が 2 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 8 と同じ ]の場合↓
||▼ ■■■■■上キーを押した
||■変数操作: CSelf17[一時:カーソル位置計算] = CSelf24[カーソル位置] / CSelf20[横項目数]
||■条件分岐(変数): 【1】 CSelf17[一時:カーソル位置計算] が 1 以上
          【2】 CSelf27[スクロール行数] が 1 以上
||-◇分岐: 【1】 [ CSelf17[一時:カーソル位置計算] が 1 以上 ]の場合↓
|||■変数操作: CSelf24[カーソル位置] -= CSelf20[横項目数] + 0
|||■
||-◇分岐: 【2】 [ CSelf27[スクロール行数] が 1 以上 ]の場合↓
|||■変数操作: CSelf27[スクロール行数] -= 1 + 0
|||■
||-◇上記以外
|||■変数操作: CSelf24[カーソル位置] = CSelf32[可変DB登録数] - 1
|||■変数操作: CSelf24[カーソル位置] -= CSelf28[スクロール最大行] * CSelf20[横項目数]
|||■変数操作: CSelf27[スクロール行数] = CSelf28[スクロール最大行] + 0
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ CSelf10[キー入力・マウス操作] が 2 と同じ ]の場合↓
||▼ ■■■■■下キーを押した
||■変数操作: CSelf24[カーソル位置] += CSelf20[横項目数] + 0
||■変数操作: CSelf17[一時:カーソル位置計算] = CSelf24[カーソル位置] / CSelf20[横項目数]
||■条件分岐(変数): 【1】 CSelf17[一時:カーソル位置計算] が CSelf21[縦項目数] 以上
          【2】 CSelf24[カーソル位置] が CSelf32[可変DB登録数] 以上
||-◇分岐: 【1】 [ CSelf17[一時:カーソル位置計算] が CSelf21[縦項目数] 以上 ]の場合↓
|||■条件分岐(変数): 【1】 CSelf27[スクロール行数] が CSelf28[スクロール最大行] 未満
|||-◇分岐: 【1】 [ CSelf27[スクロール行数] が CSelf28[スクロール最大行] 未満 ]の場合↓
||||■変数操作: CSelf24[カーソル位置] -= CSelf20[横項目数] + 0
||||■変数操作: CSelf27[スクロール行数] += 1 + 0
||||■
|||-◇上記以外
||||■変数操作: CSelf24[カーソル位置] = 0 + 0
||||■変数操作: CSelf27[スクロール行数] = 0 + 0
||||■
|||◇分岐終了◇
|||■
||-◇分岐: 【2】 [ CSelf24[カーソル位置] が CSelf32[可変DB登録数] 以上 ]の場合↓
|||■変数操作: CSelf17[一時:カーソル位置計算] *= CSelf20[横項目数] + 0
|||■条件分岐(変数): 【1】 CSelf17[一時:カーソル位置計算] が CSelf32[可変DB登録数] 以上
|||-◇分岐: 【1】 [ CSelf17[一時:カーソル位置計算] が CSelf32[可変DB登録数] 以上 ]の場合↓
||||■変数操作: CSelf24[カーソル位置] = 0 + 0
||||■変数操作: CSelf27[スクロール行数] = 0 + 0
||||■
|||◇分岐終了◇
|||■
||◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 4 と同じ
          【2】 CSelf10[キー入力・マウス操作] が 6 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 4 と同じ ]の場合↓
||▼ ■■■■■左キーを押した
||■条件分岐(変数): 【1】 CSelf24[カーソル位置] が 1 以上
          【2】 CSelf27[スクロール行数] が 1 以上
||-◇分岐: 【1】 [ CSelf24[カーソル位置] が 1 以上 ]の場合↓
|||■変数操作: CSelf24[カーソル位置] -= 1 + 0
|||■
||-◇分岐: 【2】 [ CSelf27[スクロール行数] が 1 以上 ]の場合↓
|||■変数操作: CSelf24[カーソル位置] = CSelf20[横項目数] - 1
|||■変数操作: CSelf27[スクロール行数] -= 1 + 0
|||■
||-◇上記以外
|||■変数操作: CSelf24[カーソル位置] = CSelf22[画面上項目数] - 1
|||■変数操作: CSelf27[スクロール行数] = CSelf28[スクロール最大行] + 0
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ CSelf10[キー入力・マウス操作] が 6 と同じ ]の場合↓
||▼ ■■■■■右キーを押した
||■変数操作: CSelf24[カーソル位置] += 1 + 0
||■変数操作: CSelf17[一時:カーソル位置計算] = CSelf27[スクロール行数] * CSelf20[横項目数]
||■変数操作: CSelf17[一時:カーソル位置計算] += CSelf24[カーソル位置] + 0
||■条件分岐(変数): 【1】 CSelf17[一時:カーソル位置計算] が CSelf32[可変DB登録数] 以上
          【2】 CSelf24[カーソル位置] が CSelf22[画面上項目数] 以上
||-◇分岐: 【1】 [ CSelf17[一時:カーソル位置計算] が CSelf32[可変DB登録数] 以上 ]の場合↓
|||■変数操作: CSelf24[カーソル位置] = 0 + 0
|||■変数操作: CSelf27[スクロール行数] = 0 + 0
|||■
||-◇分岐: 【2】 [ CSelf24[カーソル位置] が CSelf22[画面上項目数] 以上 ]の場合↓
|||■条件分岐(変数): 【1】 CSelf27[スクロール行数] が CSelf28[スクロール最大行] 未満
|||-◇分岐: 【1】 [ CSelf27[スクロール行数] が CSelf28[スクロール最大行] 未満 ]の場合↓
||||■変数操作: CSelf24[カーソル位置] = CSelf22[画面上項目数] + 0
||||■変数操作: CSelf24[カーソル位置] -= CSelf20[横項目数] - 1
||||■変数操作: CSelf27[スクロール行数] += 1 + 0
||||■
|||-◇上記以外
||||■変数操作: CSelf24[カーソル位置] = 0 + 0
||||■変数操作: CSelf27[スクロール行数] = 0 + 0
||||■
|||◇分岐終了◇
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|●ラベル「表示更新」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|■
◇ループここまで◇◇
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■回数付きループ [ 0 ]回
|▼ ■■■■■■■■■■決定した時の処理
|●ラベル地点「決定」 <<<<<<<<<<<<<<<<<<<<<<<<★
|■条件分岐(変数): 【1】 CSelf32[可変DB登録数] が 0 と同じ
|-◇分岐: 【1】 [ CSelf32[可変DB登録数] が 0 と同じ ]の場合↓
||■ループ中断
||■
|◇分岐終了◇
|■変数操作: CSelf24[カーソル位置] += CSelf27[スクロール行数] * CSelf20[横項目数]
|■DB読込(可変): CSelf35[アイテムID] =
         可変DB[CSelf30[保存可変:タイプID]:CSelf24[カーソル位置]:CSelf31[保存可変:項目ID]](-: - :-)
|■変数操作: CSelf36[タイプID:ユーザ[2-4]] = CSelf35[アイテムID] / 10000
|■変数操作: CSelf35[アイテムID] %= 10000 + 0
|■文章:「\udb[\cself[36]:\cself[35]:0]」を決定。
|■
◇ループここまで◇◇
■回数付きループ [ 0 ]回
|▼ ■■■■■■■■■■キャンセルした時の処理
|●ラベル地点「キャンセル」 <<<<<<<<<<<<<<<<<<<<<<<<★
|■
◇ループここまで◇◇
▼ ■■■■■■■■■■終了処理
■ピクチャ消去:CSelf55[基本ピクチャ[0]ウィンドウ] 〜 CSelf67[ピクチャ[399]消去] / 0(0)フレーム
■ウェイト:1 フレーム

以上で設定完了です。


▲トップへ戻る▲



◎関連ページ

◆自作アイテムメニューを作る
┣◆自作アイテムメニュー:[横2×縦12]に改造
┣◆自作アイテムメニュー:説明欄を追加
┣◆自作アイテムメニュー:マウス操作を追加
┗◆自作アイテムメニュー:スクロールバーを追加

◆自作メニューの基礎講座
┗◆自作メニュー:横4×縦3

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

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