WOLF RPGエディター(ウディタ)/自作メニュー【サイトトップへ戻る】
■アイテムの一覧表にスクロールバーを追加
(更新:2023/02/28)


基礎ページ(アイテムの一覧表の自作メニューを作る)で作成したイベント処理にスクロールバーの表示を追加します。



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

ショートカット
■改造内容の確認
■変数について
■スクロールバーを追加
■「横2×縦12」にスクロールバーを追加
■マウス操作にスクロールバーを追加

動作見本用のサンプルデータ
ダウンロード後に右クリック→[すべて展開]で解凍し、
中に入っている「★このデータについて」をご覧ください。


  
■改造内容の確認

スクロールバーはメニュー画面の右側に表示し、現在表示されている位置を示します。



表示位置は左から「229ピクセル」、上から「22ピクセル」の位置を基点に、
横幅:5ピクセル」「縦幅:196ピクセル」の範囲にスクロールバーを設定します。





スクロールバーの長さは「196ピクセル×一度に表示できる行数÷全行数」で算出します。

今回は一度に表示できる行数が「12行」なので、全行数が「24行」「36行」「48行」の場合は以下のようになります。

スクロールバーの長さ:98ピクセル
(196×12行×全24行)
スクロールバーの長さ:65ピクセル
(196×12行×全36行)
スクロールバーの長さ:49ピクセル
(196×12行×全48行)
※ゲーム画面のサイズ[320×240[x2]]の時の表示例なので、上図見本のバーの長さは2倍で表示しています。

全行数が大量にある場合は、スクロールバーのの長さが小さくなり過ぎて見づらくなるので、
バーの長さの最小値は「5ピクセル」とします。

なお、全体の行数が12行以下(スクロールなし)の場合は、スクロールバーは表示しません。



バーのY表示位置は、画面上に表示されていない行数を「100%」として、
何パーセントの行数をスクロールしたのかによって、バーのY表示位置を算出します。



例えば全行数が「60行」である場合、画面上に一度に表示できる行数は「12行」なので、
画面上に表示されていない行数(スクロールできる行数)は「48行」になります。

仮に18行スクロールした場合は「18×100÷48=37」となり、「Y表示位置が37%下に移動した」となります。



バーの縦の表示範囲は「196ピクセル」なので、
全行数が「60行」で一度に表示できる行数が「12行」の場合のバーの長さは「196×12÷60=39ピクセル」になります。
そしてバーが表示されていない範囲(48行)は「196−39=157ピクセル」になります。

この条件で仮に「18行(37%)スクロール」した場合は…
18×157÷48+22
の計算によって、バーのY表示位置は「80ピクセル」になります。





ピクチャスクロールバーを表示するピクチャを追加します。

ピクチャー
番号 使用内容
1 ウィンドウ画像
4 スクロールバーの表示
10 カーソル画像
20 スクロール可能を示すアイコン[▲]
21 スクロール可能を示すアイコン[▼]
100〜199 アイテム名
200〜299 アイテム名と所持数の間に表示する「×」
300〜399 所持数

なお、可変DB[20:一覧表用]の設定は基礎ページと変わりません。

また当ページにある設定例は、基礎ページと同様にゲーム画面のサイズ「320×240[x2]」に合わせた表示設定になっています。


▲トップへ戻る▲


  
■変数について

変数番号の表示が赤色になっている変数は、当ページで新たに追加された変数です。
変数番号の表示が黄色になっている変数は、基礎ページと使い方が変わっている変数です。

コモンイベントのセルフ変数
番号 名前 使用内容
10 キー入力 押したキーのキー番号を取得。
【キー番号の一覧を見る】
11 キー待ち時間 方向キーを押し続けた時に、次にカーソルが移動するまでの時間をカウントします。
カーソルが移動すると「12」が設定され、1フレームごとに「減算1」になり、
「0以下」になると再びカーソルの移動が可能になります。
方向キーを離すと「0」になるので、方向キーを連打するとカーソルが速く移動します。
12 起動時キー押し禁止 自作メニューの起動時に何らかのキーを押し続けている場合は、
一度キーを離さないとキー操作ができないようにする時に使用します。
起動時は「1」を設定し、キーを押していない状態になると「0」になり、
それ以降キー操作ができるようになります。
20 カーソル位置 メニュー画面上のカーソルの位置を設定。
一番上の行が「0」、一番下の行が「11」。
21 スクロール行数 現在スクロールしている行数を設定。
22 スクロール最大行 スクロールできる最大行数を設定。
画面上には12項目を表示する事ができるので、
15種類のアイテムを所持している場合のスクロール最大行は「3」になります。
23 所持有り総数 所持しているアイテムの総数です。
武器や防具の所持有りも一緒にカウントされます。
24 最下行左端位置 スクロールして最も下にある行の左端のカーソル位置を設定。
25 ピクチャ[100〜] アイテム名を表示するピクチャ番号を設定。
26 ピクチャ[200〜] アイテム名と所持数の間に表示する「×」のピクチャ番号を設定。
27 ピクチャ[300〜] 所持数を表示するピクチャ番号を設定。
30 X位置[100〜] アイテム名を表示するピクチャのX表示位置を設定。
31 X位置[200〜] アイテム名と所持数の間に表示する「×」のピクチャのX表示位置を設定。
32 X位置[300〜] 所持数を表示するピクチャのX表示位置を設定。
35 Y位置 アイテム名、「×」、所持数のピクチャのY表示位置を設定。
カーソルやスクロールバーのY表示位置の設定でも使用。
40 全ID数 ユーザーDB[2:アイテム][3:武器][4:防具]のデータID数を取得する時に使用。
41 処理中ID アイテム、武器、防具のデータIDを設定し、
ユーザーDBからアイテム名を取得したり、可変DBから所持数を取得する時に使用。
42 所持数取得 可変DBの所持数を取得する時に使用。
43 アイテムID アイテムIDを取得する時に使用。
44 ユーザータイプID 処理中のアイテムのアイテム情報を保存したユーザーDBのタイプ番号を設定。
アイテム「2」、武器「3」、防具「4」。
45 可変タイプID 処理中のアイテムの所持数を保存した可変DBのタイプ番号を設定。
アイテム「7」、武器「8」、防具「9」。
46 計算用 一時的な計算処理で使用。
当ページではスクロールバーのバーの長さの計算で使用。
47 処理数 【横2×縦12用】
アイテム表示を行った数をカウント。
50 X計算[100〜] 【横2×縦12用】
アイテム名のX表示位置を計算し、実際に表示する位置を算出。
51 X計算[200〜] 【横2×縦12用】
「×」のX表示位置を計算し、実際に表示する位置を算出。
52 X計算[300〜] 【横2×縦12用】
所持数のX表示位置を計算し、実際に表示する位置を算出。
55 Y計算 【横2×縦12用】
アイテム名、「×」、所持数のY表示位置を計算し、実際に表示する位置を算出。
60 バー開始マウスY 【マウス操作用】
バーをクリックした時のマウスのY位置を取得し、
マウスを動かした時にどれくらいマウスが移動したのかを判断する時に使用。
61 バー開始バーY 【マウス操作用】
バーをクリックした時のバーのY位置を取得し、
セルフ変数[60]の値と合わせて、実際に表示する行の算出に使用。
62 バー開始マウス動く 【マウス操作用】
バーをクリックした時に「0」を設定し、
マウスを動かしたら「1」を設定してバーのスクロール移動を開始。

【変数の一覧を別ウィンドウで表示】


▲トップへ戻る▲


  
■スクロールバーを追加

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

設定内容
56 ▼ スクロールバーの準備
スクロールする行数が1以上ある場合は、スクロールバーを表示。
108 ▼ スクロールバーの表示
スクロールした行数からスクロールバーの表示位置を設定。



▼スクロールバーの設定




【イベントコード表示】

■変数操作: CSelf12[起動時キー押し禁止] = 1 + 0
■ピクチャ表示:1 [中心]ウィンドウ「SystemFile/WindowBase_amania.png」サイズ[150,206] X:160 Y:120 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:10 [左上]ウィンドウ「SystemFile/CursorBase.png」サイズ[134,16] X:93 Y:24 / 0(0)フレーム /
       パターン 1 / 透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャエフェクト:10 [点滅A(明滅)] R100/G100/B100 明滅間隔(30)フレーム
▼ ■■■■■■■■■■所持有り総数をチェック
■変数操作: CSelf20[カーソル位置]〜CSelf23[所持有り総数] = 0 + 0
▼ アイテムの所持数1以上
■可変DB書込:[タイプ 一覧表用(20) を初期化]
■DB読込(可変): CSelf40[全ID数] = 可変DB[タイプ┣所持アイテム個数(7)のデータ数]
■変数操作: CSelf41[処理中ID] = 0 + 0
■回数付きループ [ CSelf40[全ID数] ]回
|■DB読込(可変): CSelf42[所持数取得] = 可変DB[ ┣所持アイテム個数 : CSelf41[処理中ID] : 0 ] (7 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf42[所持数取得] が 1 以上
|-◇分岐: 【1】 [ CSelf42[所持数取得] が 1 以上 ]の場合↓
| |■変数操作: CSelf43[アイテムID] = CSelf41[処理中ID] + 20000
| |■可変DB書込:DB[ 一覧表用 : CSelf23[所持有り総数] : 0 ] (20 : - : アイテムID) = CSelf43[アイテムID]
| |■変数操作: CSelf23[所持有り総数] += 1 + 0
| |■
|◇分岐終了◇
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■
◇ループここまで◇◇
▼ 武器の所持数1以上
■DB読込(可変): CSelf40[全ID数] = 可変DB[タイプ┣所持武器個数(8)のデータ数]
■変数操作: CSelf41[処理中ID] = 0 + 0
■回数付きループ [ CSelf40[全ID数] ]回
|■DB読込(可変): CSelf42[所持数取得] = 可変DB[ ┣所持武器個数 : CSelf41[処理中ID] : 0 ] (8 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf42[所持数取得] が 1 以上
|-◇分岐: 【1】 [ CSelf42[所持数取得] が 1 以上 ]の場合↓
| |■変数操作: CSelf43[アイテムID] = CSelf41[処理中ID] + 30000
| |■可変DB書込:DB[ 一覧表用 : CSelf23[所持有り総数] : 0 ] (20 : - : アイテムID) = CSelf43[アイテムID]
| |■変数操作: CSelf23[所持有り総数] += 1 + 0
| |■
|◇分岐終了◇
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■
◇ループここまで◇◇
▼ 防具の所持数1以上
■DB読込(可変): CSelf40[全ID数] = 可変DB[タイプ┗所持防具個数(9)のデータ数]
■変数操作: CSelf41[処理中ID] = 0 + 0
■回数付きループ [ CSelf40[全ID数] ]回
|■DB読込(可変): CSelf42[所持数取得] = 可変DB[ ┗所持防具個数 : CSelf41[処理中ID] : 0 ] (9 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf42[所持数取得] が 1 以上
|-◇分岐: 【1】 [ CSelf42[所持数取得] が 1 以上 ]の場合↓
| |■変数操作: CSelf43[アイテムID] = CSelf41[処理中ID] + 40000
| |■可変DB書込:DB[ 一覧表用 : CSelf23[所持有り総数] : 0 ] (20 : - : アイテムID) = CSelf43[アイテムID]
| |■変数操作: CSelf23[所持有り総数] += 1 + 0
| |■
|◇分岐終了◇
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■
◇ループここまで◇◇
■変数操作: CSelf22[スクロール最大行] = CSelf23[所持有り総数] - 12
■変数操作: CSelf22[スクロール最大行] 下限= 0 + 0
■変数操作: CSelf24[最下行位置] = CSelf23[所持有り総数] - 1
■変数操作: CSelf24[最下行位置] 下限= 0 + 0
▼ スクロールバーの準備
■条件分岐(変数): 【1】 CSelf22[スクロール最大行] が 1 以上
-◇分岐: 【1】 [ CSelf22[スクロール最大行] が 1 以上 ]の場合↓
|■変数操作: CSelf46[計算用] = 12 * 196
|■変数操作: CSelf46[計算用] /= 12 + CSelf22[スクロール最大行]
|■変数操作: CSelf46[計算用] 下限= 5 + 0
|■ピクチャ表示:4 [左上]ウィンドウ「SystemFile/CursorBase.png」サイズ[5,CSelf46[計算用]] X:229 Y:22 / 0(0)フレーム /
       パターン 1 / 透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇

▼ ■■■■■■■■■■アイテム名を表示
●ラベル地点「アイテム名表示」 <<<<<<<<<<<<<<<<<<<<<<<<★
■ピクチャ消去:20 〜 21 / 0(0)フレーム
■条件分岐(変数): 【1】 CSelf21[スクロール行数] が 1 以上
-◇分岐: 【1】 [ CSelf21[スクロール行数] が 1 以上 ]の場合↓
|■ピクチャ表示:20 [中心]文字列[\f[10]▲] X:160 Y:19 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満
-◇分岐: 【1】 [ CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満 ]の場合↓
|■ピクチャ表示:21 [中心]文字列[\f[10]▼] X:160 Y:221 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇
■変数操作: CSelf25[ピクチャ[100〜]] = 100 + 0
■変数操作: CSelf26[ピクチャ[200〜]] = 200 + 0
■変数操作: CSelf27[ピクチャ[300〜]] = 300 + 0
■変数操作: CSelf30[X位置[100〜]] = 97 + 0
■変数操作: CSelf31[X位置[200〜]] = 196 + 0
■変数操作: CSelf32[X位置[300〜]] = 223 + 0
■変数操作: CSelf35[Y位置] = 26 + 0
■変数操作: CSelf41[処理中ID] = CSelf21[スクロール行数] + 0
■回数付きループ [ 12 ]回
|■DB読込(可変): CSelf43[アイテムID] = 可変DB[ 一覧表用 : CSelf41[処理中ID] : 0 ] (20 : - : アイテムID)
|■条件分岐(変数): 【1】 CSelf43[アイテムID] が 0 と同じ
|-◇分岐: 【1】 [ CSelf43[アイテムID] が 0 と同じ ]の場合↓
| |■ループ中断
| |■
|◇分岐終了◇
|■変数操作: CSelf44[ユーザータイプID]〜CSelf45[可変タイプID] = CSelf43[アイテムID] / 10000
|■変数操作: CSelf45[可変タイプID] += 5 + 0
|■変数操作: CSelf43[アイテムID] %= 10000 + 0
|■ピクチャ表示:CSelf25[ピクチャ[100〜]] [左上]文字列[\udb[\cself[44]:\]
       X:CSelf30[X位置[100〜]] Y:CSelf35[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ピクチャ表示:CSelf26[ピクチャ[200〜]] [左上]文字列[×]
       X:CSelf31[X位置[200〜]] Y:CSelf35[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ピクチャ表示:CSelf27[ピクチャ[300〜]] [右上]文字列[\cdb[\cself[45]:\]
       X:CSelf32[X位置[300〜]] Y:CSelf35[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■変数操作: CSelf46[計算用] = 96 * 100
|■変数操作+: CSelf46[計算用] /= ピクチャ:CSelf25[ピクチャ[100〜]] の 画像サイズ(横)
|■変数操作: CSelf46[計算用] 上限= 100 + 0
|■ピクチャ移動:CSelf25[ピクチャ[100〜]] 相対X:0 Y:0 / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 CSelf46[計算用]x100% / カラー 同値
|■変数操作: CSelf25[ピクチャ[100〜]]〜CSelf27[ピクチャ[300〜]] += 1 + 0
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■変数操作: CSelf35[Y位置] += 16 + 0
|■
◇ループここまで◇◇
▼ スクロールバーの表示
■変数操作: CSelf35[Y位置] = 196 + 0
■変数操作+: CSelf35[Y位置] -= ピクチャ:4 の 画像サイズ(縦)
■変数操作: CSelf35[Y位置] *= CSelf21[スクロール行数] + 0
■変数操作: CSelf35[Y位置] /= CSelf22[スクロール最大行] + 0
■変数操作: CSelf35[Y位置] += 22 + 0
■ピクチャ移動:4 X:229 Y:CSelf35[Y位置] / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値

▼ ■■■■■■■■■■キー処理
●ラベル地点「キー処理」 <<<<<<<<<<<<<<<<<<<<<<<<★
■変数操作: CSelf35[Y位置] = CSelf20[カーソル位置] * 16
■変数操作: CSelf35[Y位置] += 24 + 0
■ピクチャ移動:10 X:93 Y:CSelf35[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 表示形式:同値 / 角 0 / 拡 同値 / カラー 同値
■ループ開始
|■ウェイト:1 フレーム
|■変数操作: CSelf11[キー待ち時間] -= 1 + 0
|■キー入力:CSelf10[キー入力] 上下(8,2) 決定(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 と同じ ]の場合↓
| |▼ 上キーを押した
| |■条件分岐(変数): 【1】 CSelf20[カーソル位置] が 1 以上
| |-◇分岐: 【1】 [ CSelf20[カーソル位置] が 1 以上 ]の場合↓
| | |■変数操作: CSelf20[カーソル位置] -= 1 + 0
| | |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■条件分岐(変数): 【1】 CSelf21[スクロール行数] が 1 以上
| |-◇分岐: 【1】 [ CSelf21[スクロール行数] が 1 以上 ]の場合↓
| | |■変数操作: CSelf21[スクロール行数] -= 1 + 0
| | |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■変数操作: CSelf20[カーソル位置] += CSelf24[最下行位置] + 0
| |■変数操作: CSelf20[カーソル位置] -= CSelf22[スクロール最大行] + 0
| |■変数操作: CSelf21[スクロール行数] = CSelf22[スクロール最大行] + 0
| |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|-◇分岐: 【2】 [ CSelf10[キー入力] が 2 と同じ ]の場合↓
| |▼ 下キーを押した
| |■条件分岐(変数): 【1】 CSelf20[カーソル位置] が 10 以下
| |-◇分岐: 【1】 [ CSelf20[カーソル位置] が 10 以下 ]の場合↓
| | |■条件分岐(変数): 【1】 CSelf20[カーソル位置] が CSelf24[最下行位置] 以上
| | |-◇分岐: 【1】 [ CSelf20[カーソル位置] が CSelf24[最下行位置] 以上 ]の場合↓
| | | |■変数操作: CSelf20[カーソル位置] = 0 + 0
| | | |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | | |■
| | |◇分岐終了◇
| | |■変数操作: CSelf20[カーソル位置] += 1 + 0
| | |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■条件分岐(変数): 【1】 CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満
| |-◇分岐: 【1】 [ CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満 ]の場合↓
| | |■変数操作: CSelf21[スクロール行数] += 1 + 0
| | |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■変数操作: CSelf20[カーソル位置] -= 11 + 0
| |■変数操作: CSelf21[スクロール行数] = 0 + 0
| |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|◇分岐終了◇
|■
◇ループここまで◇◇
▼ ■■■■■■■■■■決定の処理
■変数操作: CSelf20[カーソル位置] += CSelf21[スクロール行数] + 0
■DB読込(可変): CSelf43[アイテムID] = 可変DB[ 一覧表用 : CSelf20[カーソル位置] : 0 ] (20 : - : アイテムID)
■条件分岐(変数): 【1】 CSelf43[アイテムID] が 0 と同じ
-◇分岐: 【1】 [ CSelf43[アイテムID] が 0 と同じ ]の場合↓
|●ラベル「終了」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|■
◇分岐終了◇
■変数操作: CSelf44[ユーザータイプID] = CSelf43[アイテムID] / 10000
■変数操作: CSelf43[アイテムID] %= 10000 + 0
■文章:「\udb[\cself[44]:\cself[43]:0]」を決定。
●ラベル地点「終了」 <<<<<<<<<<<<<<<<<<<<<<<<★
■ピクチャ消去:1 〜 399 / 0(0)フレーム


以上で設定完了です。
テストプレイを実行して、動作確認を行ってください。


▲トップへ戻る▲


  
■「横2×縦12」にスクロールバーを追加

横2×縦12」の設定にスクロールバーを追加します。



予め「横2×縦12」の設定を行ってください。
【「横2×縦12」の説明ページを表示】



表示位置は左から「296ピクセル」、上から「22ピクセル」の位置を基点に、
横幅:5ピクセル」「縦幅:196ピクセル」の範囲にスクロールバーを設定します。





【イベントコード表示】

■変数操作: CSelf12[起動時キー押し禁止] = 1 + 0
■変数操作: CSelf17[画面上項目数] = 24 + 0
■変数操作: CSelf18[横項目数] = 2 + 0
■ピクチャ表示:1 [中心]ウィンドウ「SystemFile/WindowBase_amania.png」サイズ[284,206] X:160 Y:120 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:10 [左上]ウィンドウ「SystemFile/CursorBase.png」サイズ[134,16] X:93 Y:24 / 0(0)フレーム /
       パターン 1 / 透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャエフェクト:10 [点滅A(明滅)] R100/G100/B100 明滅間隔(30)フレーム
▼ ■■■■■■■■■■所持有り総数をチェック
■変数操作: CSelf20[カーソル位置]〜CSelf23[所持有り総数] = 0 + 0
▼ アイテムの所持数1以上
■可変DB書込:[タイプ 一覧表用(20) を初期化]
■DB読込(可変): CSelf40[全ID数] = 可変DB[タイプ┣所持アイテム個数(7)のデータ数]
■変数操作: CSelf41[処理中ID] = 0 + 0
■回数付きループ [ CSelf40[全ID数] ]回
|■DB読込(可変): CSelf42[所持数取得] = 可変DB[ ┣所持アイテム個数 : CSelf41[処理中ID] : 0 ] (7 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf42[所持数取得] が 1 以上
|-◇分岐: 【1】 [ CSelf42[所持数取得] が 1 以上 ]の場合↓
| |■変数操作: CSelf43[アイテムID] = CSelf41[処理中ID] + 20000
| |■可変DB書込:DB[ 一覧表用 : CSelf23[所持有り総数] : 0 ] (20 : - : アイテムID) = CSelf43[アイテムID]
| |■変数操作: CSelf23[所持有り総数] += 1 + 0
| |■
|◇分岐終了◇
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■
◇ループここまで◇◇
▼ 武器の所持数1以上
■DB読込(可変): CSelf40[全ID数] = 可変DB[タイプ┣所持武器個数(8)のデータ数]
■変数操作: CSelf41[処理中ID] = 0 + 0
■回数付きループ [ CSelf40[全ID数] ]回
|■DB読込(可変): CSelf42[所持数取得] = 可変DB[ ┣所持武器個数 : CSelf41[処理中ID] : 0 ] (8 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf42[所持数取得] が 1 以上
|-◇分岐: 【1】 [ CSelf42[所持数取得] が 1 以上 ]の場合↓
| |■変数操作: CSelf43[アイテムID] = CSelf41[処理中ID] + 30000
| |■可変DB書込:DB[ 一覧表用 : CSelf23[所持有り総数] : 0 ] (20 : - : アイテムID) = CSelf43[アイテムID]
| |■変数操作: CSelf23[所持有り総数] += 1 + 0
| |■
|◇分岐終了◇
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■
◇ループここまで◇◇
▼ 防具の所持数1以上
■DB読込(可変): CSelf40[全ID数] = 可変DB[タイプ┗所持防具個数(9)のデータ数]
■変数操作: CSelf41[処理中ID] = 0 + 0
■回数付きループ [ CSelf40[全ID数] ]回
|■DB読込(可変): CSelf42[所持数取得] = 可変DB[ ┗所持防具個数 : CSelf41[処理中ID] : 0 ] (9 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf42[所持数取得] が 1 以上
|-◇分岐: 【1】 [ CSelf42[所持数取得] が 1 以上 ]の場合↓
| |■変数操作: CSelf43[アイテムID] = CSelf41[処理中ID] + 40000
| |■可変DB書込:DB[ 一覧表用 : CSelf23[所持有り総数] : 0 ] (20 : - : アイテムID) = CSelf43[アイテムID]
| |■変数操作: CSelf23[所持有り総数] += 1 + 0
| |■
|◇分岐終了◇
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■
◇ループここまで◇◇
■変数操作: CSelf22[スクロール最大行] = CSelf23[所持有り総数] - CSelf17[画面上項目数]
■変数操作: CSelf22[スクロール最大行] 下限= 0 + 0
■変数操作: CSelf22[スクロール最大行] += CSelf18[横項目数] - 1
■変数操作: CSelf22[スクロール最大行] /= CSelf18[横項目数] + 0
■変数操作: CSelf24[最下行左端位置] = CSelf23[所持有り総数] - 1
■変数操作: CSelf24[最下行左端位置] /= CSelf18[横項目数] + 0
■変数操作: CSelf24[最下行左端位置] *= CSelf18[横項目数] + 0
■変数操作: CSelf24[最下行左端位置] 下限= 0 + 0
▼ スクロールバーの準備
■条件分岐(変数): 【1】 CSelf22[スクロール最大行] が 1 以上
-◇分岐: 【1】 [ CSelf22[スクロール最大行] が 1 以上 ]の場合↓
|■変数操作: CSelf46[計算用] = 12 * 196
|■変数操作: CSelf46[計算用] /= 12 + CSelf22[スクロール最大行]
|■変数操作: CSelf46[計算用] 下限= 5 + 0
|■ピクチャ表示:4 [左上]ウィンドウ「SystemFile/CursorBase.png」サイズ[5,CSelf46[計算用]] X:296 Y:22 / 0(0)フレーム /
       パターン 1 / 透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇

▼ ■■■■■■■■■■アイテム名を表示
●ラベル地点「アイテム名表示」 <<<<<<<<<<<<<<<<<<<<<<<<★
■ピクチャ消去:20 〜 21 / 0(0)フレーム
■ピクチャ消去:100 〜 399 / 0(0)フレーム
■条件分岐(変数): 【1】 CSelf21[スクロール行数] が 1 以上
-◇分岐: 【1】 [ CSelf21[スクロール行数] が 1 以上 ]の場合↓
|■ピクチャ表示:20 [中心]文字列[\f[10]▲] X:160 Y:19 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満
-◇分岐: 【1】 [ CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満 ]の場合↓
|■ピクチャ表示:21 [中心]文字列[\f[10]▼] X:160 Y:221 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇
■変数操作: CSelf25[ピクチャ[100〜]] = 100 + 0
■変数操作: CSelf26[ピクチャ[200〜]] = 200 + 0
■変数操作: CSelf27[ピクチャ[300〜]] = 300 + 0
■変数操作: CSelf30[X位置[100〜]] = 97 - 67
■変数操作: CSelf31[X位置[200〜]] = 196 - 67
■変数操作: CSelf32[X位置[300〜]] = 223 - 67
■変数操作: CSelf35[Y位置] = 26 + 0
■変数操作: CSelf41[処理中ID] = CSelf21[スクロール行数] + 0
■変数操作: CSelf46[処理数] = 0 + 0
■回数付きループ [ CSelf17[画面上項目数] ]回
|■DB読込(可変): CSelf43[アイテムID] = 可変DB[ 一覧表用 : CSelf41[処理中ID] : 0 ] (20 : - : アイテムID)
|■条件分岐(変数): 【1】 CSelf43[アイテムID] が 0 と同じ
|-◇分岐: 【1】 [ CSelf43[アイテムID] が 0 と同じ ]の場合↓
| |■ループ中断
| |■
|◇分岐終了◇
|■変数操作: CSelf44[ユーザータイプID]〜CSelf45[可変タイプID] = CSelf43[アイテムID] / 10000
|■変数操作: CSelf45[可変タイプID] += 5 + 0
|■変数操作: CSelf43[アイテムID] %= 10000 + 0
|■変数操作: CSelf50[X計算[100〜]]〜CSelf52[X計算[300〜]] = CSelf46[処理数] % CSelf18[横項目数]
|■変数操作: CSelf50[X計算[100〜]]〜CSelf52[X計算[300〜]] *= 134 + 0
|■変数操作: CSelf50[X計算[100〜]] += CSelf30[X位置[100〜]] + 0
|■変数操作: CSelf51[X計算[200〜]] += CSelf31[X位置[200〜]] + 0
|■変数操作: CSelf52[X計算[300〜]] += CSelf32[X位置[300〜]] + 0
|■変数操作: CSelf55[Y計算] = CSelf46[処理数] / CSelf18[横項目数]
|■変数操作: CSelf55[Y計算] *= 16 + 0
|■変数操作: CSelf55[Y計算] += CSelf35[Y位置] + 0
|■ピクチャ表示:CSelf25[ピクチャ[100〜]] [左上]文字列[\udb[\cself[44]:\]
       X:CSelf50[X計算[100〜]] Y:CSelf55[Y計算] / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ピクチャ表示:CSelf26[ピクチャ[200〜]] [左上]文字列[×]
       X:CSelf51[X計算[200〜]] Y:CSelf55[Y計算] / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ピクチャ表示:CSelf27[ピクチャ[300〜]] [右上]文字列[\cdb[\cself[45]:\]
       X:CSelf52[X計算[300〜]] Y:CSelf55[Y計算] / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■変数操作: CSelf46[計算用] = 96 * 100
|■変数操作+: CSelf46[計算用] /= ピクチャ:CSelf25[ピクチャ[100〜]] の 画像サイズ(横)
|■変数操作: CSelf46[計算用] 上限= 100 + 0
|■ピクチャ移動:CSelf25[ピクチャ[100〜]] 相対X:0 Y:0 / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 CSelf46[計算用]x100% / カラー 同値
|■変数操作: CSelf25[ピクチャ[100〜]]〜CSelf27[ピクチャ[300〜]] += 1 + 0
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■変数操作:CSelf46[処理数] += 1 + 0
|■
◇ループここまで◇◇
▼ スクロールバーの表示
■変数操作: CSelf35[Y位置] = 196 + 0
■変数操作+: CSelf35[Y位置] -= ピクチャ:4 の 画像サイズ(縦)
■変数操作: CSelf35[Y位置] *= CSelf21[スクロール行数] + 0
■変数操作: CSelf35[Y位置] /= CSelf22[スクロール最大行] + 0
■変数操作: CSelf35[Y位置] += 22 + 0
■ピクチャ移動:4 X:296 Y:CSelf35[Y位置] / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値

▼ ■■■■■■■■■■キー処理
●ラベル地点「キー処理」 <<<<<<<<<<<<<<<<<<<<<<<<★
▼ 最下行で項目が存在しない位置へカーソルを移動させた時の補正
■変数操作: CSelf47[計算用] = CSelf20[カーソル位置] + 0
■変数操作: CSelf47[計算用] += CSelf21[スクロール行数] * CSelf18[横項目数]
■条件分岐(変数): 【1】 CSelf47[計算用] が CSelf23[所持有り総数] 以上
-◇分岐: 【1】 [ CSelf47[計算用] が CSelf23[所持有り総数] 以上 ]の場合↓
|■変数操作: CSelf20[カーソル位置] = CSelf23[所持有り総数] - 1
|■変数操作: CSelf20[カーソル位置] -= CSelf22[スクロール最大行] * CSelf18[横項目数]
|■変数操作: CSelf20[カーソル位置] 下限= 0 + 0
|■
◇分岐終了◇
▼ カーソル表示
■変数操作: CSelf30[X位置[100〜]] = CSelf20[カーソル位置] % CSelf18[横項目数]
■変数操作: CSelf30[X位置[100〜]] *= 134 + 0
■変数操作: CSelf30[X位置[100〜]] += 93 - 67
■変数操作: CSelf35[Y位置] = CSelf20[カーソル位置] / CSelf18[横項目数]
■変数操作: CSelf35[Y位置] *= 16 + 0
■変数操作: CSelf35[Y位置] += 24 + 0
■ピクチャ移動:10 X:CSelf30[X位置[100〜]] Y:CSelf35[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 と同じ ]の場合↓
| |▼ 上キーを押した
| |■条件分岐(変数): 【1】 CSelf20[カーソル位置] が CSelf18[横項目数] 以上
| |-◇分岐: 【1】 [ CSelf20[カーソル位置] が CSelf18[横項目数] 以上 ]の場合↓
| | |■変数操作: CSelf20[カーソル位置] -= CSelf18[横項目数] + 0
| | |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■条件分岐(変数): 【1】 CSelf21[スクロール行数] が 1 以上
| |-◇分岐: 【1】 [ CSelf21[スクロール行数] が 1 以上 ]の場合↓
| | |■変数操作: CSelf21[スクロール行数] -= 1 + 0
| | |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■変数操作: CSelf20[カーソル位置] += CSelf24[最下行左端位置] + 0
| |■変数操作: CSelf20[カーソル位置] -= CSelf22[スクロール最大行] * CSelf18[横項目数]
| |■変数操作: CSelf21[スクロール行数] = CSelf22[スクロール最大行] + 0
| |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|-◇分岐: 【2】 [ CSelf10[キー入力] が 2 と同じ ]の場合↓
| |▼ 下キーを押した
| |■変数操作: CSelf47[計算用] = CSelf17[画面上項目数] - CSelf18[横項目数]
| |■条件分岐(変数): 【1】 CSelf20[カーソル位置] が CSelf47[計算用] 未満
| |-◇分岐: 【1】 [ CSelf20[カーソル位置] が CSelf47[計算用] 未満 ]の場合↓
| | |■条件分岐(変数): 【1】 CSelf20[カーソル位置] が CSelf24[最下行左端位置] 以上
| | |-◇分岐: 【1】 [ CSelf20[カーソル位置] が CSelf24[最下行左端位置] 以上 ]の場合↓
| | | |■変数操作: CSelf20[カーソル位置] %= CSelf18[横項目数] + 0
| | | |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | | |■
| | |◇分岐終了◇
| | |■変数操作: CSelf20[カーソル位置] += CSelf18[横項目数] + 0
| | |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■条件分岐(変数): 【1】 CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満
| |-◇分岐: 【1】 [ CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満 ]の場合↓
| | |■変数操作: CSelf21[スクロール行数] += 1 + 0
| | |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■変数操作: CSelf20[カーソル位置] -= CSelf17[画面上項目数] - CSelf18[横項目数]
| |■変数操作: CSelf21[スクロール行数] = 0 + 0
| |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf10[キー入力] が 4 と同じ 【2】 CSelf10[キー入力] が 6 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力] が 4 と同じ ]の場合↓
| |▼ 左キーを押した
| |■変数操作: CSelf47[計算用] = CSelf20[カーソル位置] % CSelf18[横項目数]
| |■条件分岐(変数): 【1】 CSelf47[計算用] が 0 と同じ
| |-◇分岐: 【1】 [ CSelf47[計算用] が 0 と同じ ]の場合↓
| | |■変数操作: CSelf20[カーソル位置] += CSelf18[横項目数] + 0
| | |■
| |◇分岐終了◇
| |■変数操作: CSelf20[カーソル位置] -= 1 + 0
| |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|-◇分岐: 【2】 [ CSelf10[キー入力] が 6 と同じ ]の場合↓
| |▼ 右キーを押した
| |■変数操作: CSelf20[カーソル位置] += 1 + 0
| |■変数操作: CSelf47[計算用] = CSelf20[カーソル位置] % CSelf18[横項目数]
| |■条件分岐(変数): 【1】 CSelf47[計算用] が 0 と同じ
| |-◇分岐: 【1】 [ CSelf47[計算用] が 0 と同じ ]の場合↓
| | |■変数操作: CSelf20[カーソル位置] -= CSelf18[横項目数] + 0
| | |■
| |◇分岐終了◇
| |▼ 最下行で項目が存在しない位置へカーソルを移動させた時に左端へ移動
| |■変数操作: CSelf47[計算用] = CSelf20[カーソル位置] + 0
| |■変数操作: CSelf47[計算用] += CSelf21[スクロール行数] * CSelf18[横項目数]
| |■条件分岐(変数): 【1】 CSelf47[計算用] が CSelf23[所持有り総数] 以上
| |-◇分岐: 【1】 [ CSelf47[計算用] が CSelf23[所持有り総数] 以上 ]の場合↓
| | |■変数操作: CSelf20[カーソル位置] /= CSelf18[横項目数] + 0
| | |■変数操作: CSelf20[カーソル位置] *= CSelf18[横項目数] + 0
| | |■
| |◇分岐終了◇
| |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|◇分岐終了◇
|■
◇ループここまで◇◇
▼ ■■■■■■■■■■決定の処理
■変数操作: CSelf20[カーソル位置] += CSelf21[スクロール行数] * CSelf18[横項目数]
■DB読込(可変): CSelf43[アイテムID] = 可変DB[ 一覧表用 : CSelf20[カーソル位置] : 0 ] (20 : - : アイテムID)
■条件分岐(変数): 【1】 CSelf43[アイテムID] が 0 と同じ
-◇分岐: 【1】 [ CSelf43[アイテムID] が 0 と同じ ]の場合↓
|●ラベル「終了」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|■
◇分岐終了◇
■変数操作: CSelf44[ユーザータイプID] = CSelf43[アイテムID] / 10000
■変数操作: CSelf43[アイテムID] %= 10000 + 0
■文章:「\udb[\cself[44]:\cself[43]:0]」を決定。
●ラベル地点「終了」 <<<<<<<<<<<<<<<<<<<<<<<<★
■ピクチャ消去:1 〜 399 / 0(0)フレーム


以上で設定完了です。


▲トップへ戻る▲


  
■マウス操作にスクロールバーを追加

マウスで操作」の設定にスクロールバーを追加します。

予め「マウスで操作」の設定を行ってください。
【「マウスで操作」の説明ページを表示】



今回の設定では、単にスクロールバーを表示するだけでなく、
バーの上でマウスの左ボタンを押しながら縦に移動する事でスクロールバーが移動し、
実際に一覧の画面がスクロールするように設定します。



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

設定内容
57 ▼ スクロールバーの準備
スクロールする行数が1以上ある場合は、スクロールバーを表示。
109 ▼ スクロールバーの表示
スクロールした行数からスクロールバーの表示位置を設定。
128 ▼ マウス:スクロールバーの操作
スクロールバーの上にマウスポインタが乗っている場合は分岐。
132 スクロールバーの上にマウスポインタが乗った時に分岐し、スクロールバーを水色にして点滅させます。
139 マウスをクリックした時に分岐し、クリックした時のマウスポインタとスクロールバーの位置を変数に設定。
147 スクロールバーをドラッグし続けている時に分岐。
ドラッグし続けている間は、スクロールバーの上からマウスポインタが外れても、
スクロールバーを指定している状態になります。
149 ドラッグし続けている時に分岐。
分岐内では、まずクリックした時のマウスのY位置から現在のマウスのY位置を減算し、
その差分からマウスポインタの移動量を測定します。
そしてマウスの移動量から現在のカーソルの位置を算出し、そのカーソル位置のスクロール行数を算出します。
最後に現在のスクロール位置と計算したスクロール位置が異なる場合は、ラベル「アイテム名表示」へ飛びます。
168 マウスの左ボタンを離した時に実行し、スクロールバーの移動処理を中断します。
173 スクロールバーの移動処理が行われておらず、さらにスクロールバーの上にマウスポインタが乗っていない場合は、
スクロールバーの点滅処理などを終了させます。



【イベントコード表示】

■変数操作: CSelf12[起動時キー押し禁止] = 1 + 0
■ピクチャ表示:1 [中心]ウィンドウ「SystemFile/WindowBase_amania.png」サイズ[150,206] X:160 Y:120 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:10 [左上]ウィンドウ「SystemFile/CursorBase.png」サイズ[134,16] X:93 Y:24 / 0(0)フレーム /
       パターン 1 / 透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:11 [左上]ウィンドウ「SystemFile/CursorBase.png」サイズ[134,16] X:0 Y:0 / 0(0)フレーム /
       パターン 1 / 透 0 / 加算 / 角 0 / 拡 100% / カラー R[0] G[100] B[100]
■ピクチャエフェクト:10 〜 11 [点滅A(明滅)] R100/G100/B100 明滅間隔(30)フレーム
▼ ■■■■■■■■■■所持有り総数をチェック
■変数操作: CSelf20[カーソル位置]〜CSelf23[所持有り総数] = 0 + 0
▼ アイテムの所持数1以上
■可変DB書込:[タイプ 一覧表用(20) を初期化]
■DB読込(可変): CSelf40[全ID数] = 可変DB[タイプ┣所持アイテム個数(7)のデータ数]
■変数操作: CSelf41[処理中ID] = 0 + 0
■回数付きループ [ CSelf40[全ID数] ]回
|■DB読込(可変): CSelf42[所持数取得] = 可変DB[ ┣所持アイテム個数 : CSelf41[処理中ID] : 0 ] (7 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf42[所持数取得] が 1 以上
|-◇分岐: 【1】 [ CSelf42[所持数取得] が 1 以上 ]の場合↓
| |■変数操作: CSelf43[アイテムID] = CSelf41[処理中ID] + 20000
| |■可変DB書込:DB[ 一覧表用 : CSelf23[所持有り総数] : 0 ] (20 : - : アイテムID) = CSelf43[アイテムID]
| |■変数操作: CSelf23[所持有り総数] += 1 + 0
| |■
|◇分岐終了◇
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■
◇ループここまで◇◇
▼ 武器の所持数1以上
■DB読込(可変): CSelf40[全ID数] = 可変DB[タイプ┣所持武器個数(8)のデータ数]
■変数操作: CSelf41[処理中ID] = 0 + 0
■回数付きループ [ CSelf40[全ID数] ]回
|■DB読込(可変): CSelf42[所持数取得] = 可変DB[ ┣所持武器個数 : CSelf41[処理中ID] : 0 ] (8 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf42[所持数取得] が 1 以上
|-◇分岐: 【1】 [ CSelf42[所持数取得] が 1 以上 ]の場合↓
| |■変数操作: CSelf43[アイテムID] = CSelf41[処理中ID] + 30000
| |■可変DB書込:DB[ 一覧表用 : CSelf23[所持有り総数] : 0 ] (20 : - : アイテムID) = CSelf43[アイテムID]
| |■変数操作: CSelf23[所持有り総数] += 1 + 0
| |■
|◇分岐終了◇
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■
◇ループここまで◇◇
▼ 防具の所持数1以上
■DB読込(可変): CSelf40[全ID数] = 可変DB[タイプ┗所持防具個数(9)のデータ数]
■変数操作: CSelf41[処理中ID] = 0 + 0
■回数付きループ [ CSelf40[全ID数] ]回
|■DB読込(可変): CSelf42[所持数取得] = 可変DB[ ┗所持防具個数 : CSelf41[処理中ID] : 0 ] (9 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf42[所持数取得] が 1 以上
|-◇分岐: 【1】 [ CSelf42[所持数取得] が 1 以上 ]の場合↓
| |■変数操作: CSelf43[アイテムID] = CSelf41[処理中ID] + 40000
| |■可変DB書込:DB[ 一覧表用 : CSelf23[所持有り総数] : 0 ] (20 : - : アイテムID) = CSelf43[アイテムID]
| |■変数操作: CSelf23[所持有り総数] += 1 + 0
| |■
|◇分岐終了◇
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■
◇ループここまで◇◇
■変数操作: CSelf22[スクロール最大行] = CSelf23[所持有り総数] - 12
■変数操作: CSelf22[スクロール最大行] 下限= 0 + 0
■変数操作: CSelf24[最下行位置] = CSelf23[所持有り総数] - 1
■変数操作: CSelf24[最下行位置] 下限= 0 + 0
▼ スクロールバーの準備
■条件分岐(変数): 【1】 CSelf22[スクロール最大行] が 1 以上
-◇分岐: 【1】 [ CSelf22[スクロール最大行] が 1 以上 ]の場合↓
|■変数操作: CSelf46[計算用] = 12 * 196
|■変数操作: CSelf46[計算用] /= 12 + CSelf22[スクロール最大行]
|■変数操作: CSelf46[計算用] 下限= 5 + 0
|■ピクチャ表示:4 [左上]ウィンドウ「SystemFile/CursorBase.png」サイズ[5,CSelf46[計算用]] X:229 Y:22 / 0(0)フレーム /
       パターン 1 / 透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇

▼ ■■■■■■■■■■アイテム名を表示
●ラベル地点「アイテム名表示」 <<<<<<<<<<<<<<<<<<<<<<<<★
■ピクチャ消去:20 〜 21 / 0(0)フレーム
■条件分岐(変数): 【1】 CSelf21[スクロール行数] が 1 以上
-◇分岐: 【1】 [ CSelf21[スクロール行数] が 1 以上 ]の場合↓
|■ピクチャ表示:20 [中心]文字列[\f[10]▲] X:160 Y:19 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満
-◇分岐: 【1】 [ CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満 ]の場合↓
|■ピクチャ表示:21 [中心]文字列[\f[10]▼] X:160 Y:221 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇
■変数操作: CSelf25[ピクチャ[100〜]] = 100 + 0
■変数操作: CSelf26[ピクチャ[200〜]] = 200 + 0
■変数操作: CSelf27[ピクチャ[300〜]] = 300 + 0
■変数操作: CSelf30[X位置[100〜]] = 97 + 0
■変数操作: CSelf31[X位置[200〜]] = 196 + 0
■変数操作: CSelf32[X位置[300〜]] = 223 + 0
■変数操作: CSelf35[Y位置] = 26 + 0
■変数操作: CSelf41[処理中ID] = CSelf21[スクロール行数] + 0
■回数付きループ [ 12 ]回
|■DB読込(可変): CSelf43[アイテムID] = 可変DB[ 一覧表用 : CSelf41[処理中ID] : 0 ] (20 : - : アイテムID)
|■条件分岐(変数): 【1】 CSelf43[アイテムID] が 0 と同じ
|-◇分岐: 【1】 [ CSelf43[アイテムID] が 0 と同じ ]の場合↓
| |■ループ中断
| |■
|◇分岐終了◇
|■変数操作: CSelf44[ユーザータイプID]〜CSelf45[可変タイプID] = CSelf43[アイテムID] / 10000
|■変数操作: CSelf45[可変タイプID] += 5 + 0
|■変数操作: CSelf43[アイテムID] %= 10000 + 0
|■ピクチャ表示:CSelf25[ピクチャ[100〜]] [左上]文字列[\udb[\cself[44]:\]
       X:CSelf30[X位置[100〜]] Y:CSelf35[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ピクチャ表示:CSelf26[ピクチャ[200〜]] [左上]文字列[×]
       X:CSelf31[X位置[200〜]] Y:CSelf35[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ピクチャ表示:CSelf27[ピクチャ[300〜]] [右上]文字列[\cdb[\cself[45]:\]
       X:CSelf32[X位置[300〜]] Y:CSelf35[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■変数操作: CSelf46[計算用] = 96 * 100
|■変数操作+: CSelf46[計算用] /= ピクチャ:CSelf25[ピクチャ[100〜]] の 画像サイズ(横)
|■変数操作: CSelf46[計算用] 上限= 100 + 0
|■ピクチャ移動:CSelf25[ピクチャ[100〜]] 相対X:0 Y:0 / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 CSelf46[計算用]x100% / カラー 同値
|■変数操作: CSelf25[ピクチャ[100〜]]〜CSelf27[ピクチャ[300〜]] += 1 + 0
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■変数操作: CSelf35[Y位置] += 16 + 0
|■
◇ループここまで◇◇
▼ スクロールバーの表示
■変数操作: CSelf35[Y位置] = 196 + 0
■変数操作+: CSelf35[Y位置] -= ピクチャ:4 の 画像サイズ(縦)
■変数操作: CSelf35[Y位置] *= CSelf21[スクロール行数] + 0
■変数操作: CSelf35[Y位置] /= CSelf22[スクロール最大行] + 0
■変数操作: CSelf35[Y位置] += 22 + 0
■ピクチャ移動:4 X:229 Y:CSelf35[Y位置] / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値

▼ ■■■■■■■■■■キー処理
●ラベル地点「キー処理」 <<<<<<<<<<<<<<<<<<<<<<<<★
■変数操作: CSelf35[Y位置] = CSelf20[カーソル位置] * 16
■変数操作: CSelf35[Y位置] += 24 + 0
■ピクチャ移動:10 X:93 Y:CSelf35[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 表示形式:同値 / 角 0 / 拡 同値 / カラー 同値
■ループ開始
|■ウェイト:1 フレーム
|■変数操作: CSelf11[キー待ち時間] -= 1 + 0
|■変数操作: CSelf14[クリック待ち時間] -= 1 + 0
|▼ ■■■■■マウス操作
|■ピクチャ移動:11 X:0 Y:0 / 0(0)フレーム / パターン 1 / 透 0 / 表示形式:同値 / 角 0 / 拡 同値 / カラー 同値
|■変数操作+: CSelf10[キー入力・マウス操作] = マウス左クリック状態
|▼ マウス:スクロールバーの操作
|■変数操作+: CSelf46[計算用] = ピクチャ:4 の マウス重なってる?(1=YES)
|■条件分岐(変数): 【1】 CSelf46[計算用] が 1 と同じ
|-◇分岐: 【1】 [ CSelf46[計算用] が 1 と同じ ]の場合↓
| |■条件分岐(変数): 【1】 CSelf13[クリック処理内容] が 4 以外
| |-◇分岐: 【1】 [ CSelf13[クリック処理内容] が 4 以外 ]の場合↓
| | |■変数操作: CSelf13[クリック処理内容] = 4 + 0
| | |■ピクチャ移動:4 相対X:0 Y:0 / 0(0)フレーム /
         パターン 同値 / 透 255 / 表示形式:同値 / 角 0 / 拡 同値 / カラー R[0] G[100] B[100]
| | |■ピクチャエフェクト:4 [点滅A(明滅)] R100/G100/B100 明滅間隔(30)フレーム
| | |■
| |◇分岐終了◇
| |■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 2 と同じ
| |-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 2 と同じ ]の場合↓
| | |■変数操作+: CSelf60[バー開始マウスY] = マウスY座標
| | |■変数操作+: CSelf61[バー開始バーY] = ピクチャ:4 の Y座標
| | |■変数操作: CSelf62[バー開始マウス動く] = 0 + 0
| | |■
| |◇分岐終了◇
| |■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf60[バー開始マウスY] が 1 以上 【2】 CSelf13[クリック処理内容] が 4 と同じ
|-◇分岐: 【1】 [ CSelf60[バー開始マウスY] が 1 以上 ]の場合↓
| |■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 1 以上
| |-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 1 以上 ]の場合↓
| | |■変数操作+: CSelf35[Y位置] = マウスY座標
| | |■変数操作: CSelf35[Y位置] -= CSelf60[バー開始マウスY] + 0
| | |■条件分岐(変数): 【1】 CSelf35[Y位置] が 0 以外
| | |-◇分岐: 【1】 [ CSelf35[Y位置] が 0 以外 ]の場合↓
| | | |■変数操作: CSelf62[バー開始マウス動く] = 1 + 0
| | | |■
| | |◇分岐終了◇
| | |■変数操作: CSelf35[Y位置] += CSelf61[バー開始バーY] - 22
| | |■変数操作: CSelf35[Y位置] *= CSelf22[スクロール最大行] + 0
| | |■変数操作: CSelf46[計算用] = 196 + 0
| | |■変数操作+: CSelf46[計算用] -= ピクチャ:4 の 画像サイズ(縦)
| | |■変数操作: CSelf35[Y位置] /= CSelf46[計算用] + 0
| | |■変数操作: CSelf35[Y位置] 下限= 0 + 0
| | |■変数操作: CSelf35[Y位置] 上限= CSelf22[スクロール最大行] + 0
| | |■条件分岐(変数): 【1】 CSelf62[バー開始マウス動く] が 0 と同じ
| | |-◇分岐: 【1】 [ CSelf62[バー開始マウス動く] が 0 と同じ ]の場合↓
| | | |■変数操作: CSelf35[Y位置] = CSelf21[スクロール行数] + 0
| | | |■
| | |◇分岐終了◇
| | |■条件分岐(変数): 【1】 CSelf21[スクロール行数] が CSelf35[Y位置] 以外
| | |-◇分岐: 【1】 [ CSelf21[スクロール行数] が CSelf35[Y位置] 以外 ]の場合↓
| | | |■変数操作: CSelf21[スクロール行数] = CSelf35[Y位置] + 0
| | | |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | | |■
| | |◇分岐終了◇
| | |■
| |-◇上記以外
| | |■変数操作: CSelf60[バー開始マウスY] = 0 + 0
| | |■
| |◇分岐終了◇
| |■
|-◇分岐: 【2】 [ CSelf13[クリック処理内容] が 4 と同じ ]の場合↓
| |■ピクチャ移動:4 相対X:0 Y:0 / 0(0)フレーム /
        パターン 同値 / 透 255 / 表示形式:同値 / 角 0 / 拡 同値 / カラー R[100] G[100] B[100]
| |■ピクチャエフェクト:4 [点滅A(明滅)] R0/G0/B0 明滅間隔(0)フレーム
| |■変数操作: CSelf13[クリック処理内容] = 0 + 0
| |■変数操作: CSelf60[バー開始マウスY] = 0 + 0
| |■
|◇分岐終了◇

|▼ マウス:[▲]
|■変数操作+: CSelf46[計算用] = ピクチャ:20 の マウス重なってる?(1=YES)
|■条件分岐(変数): 【1】 CSelf46[計算用] が 1 と同じ
          【2】 CSelf13[クリック処理内容] が 20 と同じ
|-◇分岐: 【1】 [ CSelf46[計算用] が 1 と同じ ]の場合↓
| |■条件分岐(変数): 【1】 CSelf13[クリック処理内容] が 20 以外
| |-◇分岐: 【1】 [ CSelf13[クリック処理内容] が 20 以外 ]の場合↓
| | |■変数操作: CSelf13[クリック処理内容] = 20 + 0
| | |■変数操作+: CSelf30[X位置[100〜]] = ピクチャ:CSelf13[クリック処理内容] の X座標
| | |■変数操作+: CSelf35[Y位置] = ピクチャ:CSelf13[クリック処理内容] の Y座標
| | |■ピクチャ表示:22 [中心]文字列[\f[14]▲] X:CSelf30[X位置[100〜]] Y:CSelf35[Y位置] / 0(0)フレーム /
         パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[0] G[100] B[100]
| | |■ピクチャエフェクト:22 [点滅A(明滅)] R100/G100/B100 明滅間隔(30)フレーム
| | |■
| |◇分岐終了◇
| |■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 2 と同じ
           【2】 CSelf14[クリック待ち時間] が 1 以上
           【3】 CSelf10[キー入力・マウス操作] が 1 以上
| |-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 2 と同じ ]の場合↓
| | |■変数操作: CSelf14[クリック待ち時間] = 20 + 0
| | |■変数操作: CSelf21[スクロール行数] -= 1 + 0
| | |■変数操作: CSelf21[スクロール行数] 下限= 0 + 0
| | |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |-◇分岐: 【2】 [ CSelf14[クリック待ち時間] が 1 以上 ]の場合↓
| | |■
| |-◇分岐: 【3】 [ CSelf10[キー入力・マウス操作] が 1 以上 ]の場合↓
| | |■条件分岐(変数): 【1】 CSelf14[クリック待ち時間] が 0 と同じ
| | |-◇分岐: 【1】 [ CSelf14[クリック待ち時間] が 0 と同じ ]の場合↓
| | | |■変数操作: CSelf14[クリック待ち時間] = 6 + 0
| | | |■変数操作: CSelf21[スクロール行数] -= 1 + 0
| | | |■変数操作: CSelf21[スクロール行数] 下限= 0 + 0
| | | |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | | |■
| | |◇分岐終了◇
| | |■
| |◇分岐終了◇
| |■
|-◇分岐: 【2】 [ CSelf13[クリック処理内容] が 20 と同じ ]の場合↓
| |■変数操作: CSelf13[クリック処理内容] = 0 + 0
| |■ピクチャ消去:22 / 0(0)フレーム
| |■
|◇分岐終了◇
|▼ マウス:[▼]
|■変数操作+: CSelf46[計算用] = ピクチャ:21 の マウス重なってる?(1=YES)
|■条件分岐(変数): 【1】 CSelf46[計算用] が 1 と同じ
          【2】 CSelf13[クリック処理内容] が 21 と同じ
|-◇分岐: 【1】 [ CSelf46[計算用] が 1 と同じ ]の場合↓
| |■条件分岐(変数): 【1】 CSelf13[クリック処理内容] が 21 以外
| |-◇分岐: 【1】 [ CSelf13[クリック処理内容] が 21 以外 ]の場合↓
| | |■変数操作: CSelf13[クリック処理内容] = 21 + 0
| | |■変数操作+: CSelf30[X位置[100〜]] = ピクチャ:CSelf13[クリック処理内容] の X座標
| | |■変数操作+: CSelf35[Y位置] = ピクチャ:CSelf13[クリック処理内容] の Y座標
| | |■ピクチャ表示:22 [中心]文字列[\f[14]▼] X:CSelf30[X位置[100〜]] Y:CSelf35[Y位置] / 0(0)フレーム /
         パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[0] G[100] B[100]
| | |■ピクチャエフェクト:22 [点滅A(明滅)] R100/G100/B100 明滅間隔(30)フレーム
| | |■
| |◇分岐終了◇
| |■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 2 と同じ
           【2】 CSelf14[クリック待ち時間] が 1 以上
           【3】 CSelf10[キー入力・マウス操作] が 1 以上
| |-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 2 と同じ ]の場合↓
| | |■変数操作: CSelf14[クリック待ち時間] = 20 + 0
| | |■変数操作: CSelf21[スクロール行数] += 1 + 0
| | |■変数操作: CSelf21[スクロール行数] 上限= CSelf22[スクロール最大行] + 0
| | |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |-◇分岐: 【2】 [ CSelf14[クリック待ち時間] が 1 以上 ]の場合↓
| | |■
| |-◇分岐: 【3】 [ CSelf10[キー入力・マウス操作] が 1 以上 ]の場合↓
| | |■条件分岐(変数): 【1】 CSelf14[クリック待ち時間] が 0 と同じ
| | |-◇分岐: 【1】 [ CSelf14[クリック待ち時間] が 0 と同じ ]の場合↓
| | | |■変数操作: CSelf14[クリック待ち時間] = 6 + 0
| | | |■変数操作: CSelf21[スクロール行数] += 1 + 0
| | | |■変数操作: CSelf21[スクロール行数] 上限= CSelf22[スクロール最大行] + 0
| | | |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | | |■
| | |◇分岐終了◇
| | |■
| |◇分岐終了◇
| |■
|-◇分岐: 【2】 [ CSelf13[クリック処理内容] が 21 と同じ ]の場合↓
| |■変数操作: CSelf13[クリック処理内容] = 0 + 0
| |■ピクチャ消去:22 / 0(0)フレーム
| |■
|◇分岐終了◇
|▼ マウス:カーソル処理
|■変数操作+: CSelf30[X位置[100〜]] = マウスX座標
|■変数操作+: CSelf35[Y位置] = マウスY座標
|■条件分岐(変数): 【1】 CSelf30[X位置[100〜]] が 93 未満
          【2】 CSelf30[X位置[100〜]] が 227 超
|-◇分岐: 【1】 [ CSelf30[X位置[100〜]] が 93 未満 ]の場合↓
| |●ラベル「マウス通過」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|-◇分岐: 【2】 [ CSelf30[X位置[100〜]] が 227 超 ]の場合↓
| |●ラベル「マウス通過」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf35[Y位置] が 24 未満
          【2】 CSelf35[Y位置] が 215 超
|-◇分岐: 【1】 [ CSelf35[Y位置] が 24 未満 ]の場合↓
| |●ラベル「マウス通過」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|-◇分岐: 【2】 [ CSelf35[Y位置] が 215 超 ]の場合↓
| |●ラベル「マウス通過」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|◇分岐終了◇
|■変数操作: CSelf35[Y位置] -= 24 + 0
|■変数操作: CSelf35[Y位置] /= 16 + 0
|■変数操作: CSelf15[マウスカーソル位置] = CSelf35[Y位置] + 0
|■変数操作: CSelf35[Y位置] *= 16 + 0
|■変数操作: CSelf35[Y位置] += 24 + 0
|■条件分岐(変数): 【1】 CSelf15[マウスカーソル位置] が CSelf23[所持有り総数] 以上
|-◇分岐: 【1】 [ CSelf15[マウスカーソル位置] が CSelf23[所持有り総数] 以上 ]の場合↓
| |●ラベル「マウス通過」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|◇分岐終了◇
|■ピクチャ移動:11 X:93 Y:CSelf35[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 表示形式:同値 / 角 0 / 拡 同値 / カラー 同値
|■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 2 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 2 と同じ ]の場合↓
| |■変数操作: CSelf20[カーソル位置] = CSelf15[マウスカーソル位置] + 0
| |■ループ中断
| |■
|◇分岐終了◇
|▼ マウス:ホイール操作
|■変数操作+: CSelf10[キー入力・マウス操作] = マウスホイール変化
|■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 0 以外
|-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 0 以外 ]の場合↓
| |■条件分岐(変数): 【1】 CSelf21[スクロール行数] が CSelf22[スクロール最大行] 超
           【2】 CSelf10[キー入力・マウス操作] が 1 以上
| |-◇分岐: 【1】 [ CSelf21[スクロール行数] が CSelf22[スクロール最大行] 超 ]の場合↓
| | |■
| |-◇分岐: 【2】 [ CSelf10[キー入力・マウス操作] が 1 以上 ]の場合↓
| | |■変数操作: CSelf21[スクロール行数] -= CSelf10[キー入力・マウス操作] + 0
| | |■変数操作: CSelf21[スクロール行数] 下限= 0 + 0
| | |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■条件分岐(変数): 【1】 CSelf21[スクロール行数] が CSelf22[スクロール最大行] 超
           【2】 CSelf10[キー入力・マウス操作] が -1 以下
| |-◇分岐: 【1】 [ CSelf21[スクロール行数] が CSelf22[スクロール最大行] 超 ]の場合↓
| | |■
| |-◇分岐: 【2】 [ CSelf10[キー入力・マウス操作] が -1 以下 ]の場合↓
| | |■変数操作: CSelf21[スクロール行数] -= CSelf10[キー入力・マウス操作] + 0
| | |■変数操作: CSelf21[スクロール行数] 上限= CSelf22[スクロール最大行] + 0
| | |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■
|◇分岐終了◇
|●ラベル地点「マウス通過」 <<<<<<<<<<<<<<<<<<<<<<<<★
|▼ ■■■■■キーボード操作
|■キー入力:CSelf10[キー入力] 上下(8,2) 決定(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 と同じ ]の場合↓
| |▼ 上キーを押した
| |■条件分岐(変数): 【1】 CSelf20[カーソル位置] が 1 以上
| |-◇分岐: 【1】 [ CSelf20[カーソル位置] が 1 以上 ]の場合↓
| | |■変数操作: CSelf20[カーソル位置] -= 1 + 0
| | |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■条件分岐(変数): 【1】 CSelf21[スクロール行数] が 1 以上
| |-◇分岐: 【1】 [ CSelf21[スクロール行数] が 1 以上 ]の場合↓
| | |■変数操作: CSelf21[スクロール行数] -= 1 + 0
| | |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■変数操作: CSelf20[カーソル位置] += CSelf24[最下行位置] + 0
| |■変数操作: CSelf20[カーソル位置] -= CSelf22[スクロール最大行] + 0
| |■変数操作: CSelf21[スクロール行数] = CSelf22[スクロール最大行] + 0
| |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|-◇分岐: 【2】 [ CSelf10[キー入力] が 2 と同じ ]の場合↓
| |▼ 下キーを押した
| |■条件分岐(変数): 【1】 CSelf20[カーソル位置] が 10 以下
| |-◇分岐: 【1】 [ CSelf20[カーソル位置] が 10 以下 ]の場合↓
| | |■条件分岐(変数): 【1】 CSelf20[カーソル位置] が CSelf24[最下行位置] 以上
| | |-◇分岐: 【1】 [ CSelf20[カーソル位置] が CSelf24[最下行位置] 以上 ]の場合↓
| | | |■変数操作: CSelf20[カーソル位置] = 0 + 0
| | | |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | | |■
| | |◇分岐終了◇
| | |■変数操作: CSelf20[カーソル位置] += 1 + 0
| | |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■条件分岐(変数): 【1】 CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満
| |-◇分岐: 【1】 [ CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満 ]の場合↓
| | |■変数操作: CSelf21[スクロール行数] += 1 + 0
| | |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■変数操作: CSelf20[カーソル位置] -= 11 + 0
| |■変数操作: CSelf21[スクロール行数] = 0 + 0
| |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|◇分岐終了◇
|■
◇ループここまで◇◇
▼ ■■■■■■■■■■決定の処理
■変数操作: CSelf20[カーソル位置] += CSelf21[スクロール行数] + 0
■DB読込(可変): CSelf43[アイテムID] = 可変DB[ 一覧表用 : CSelf20[カーソル位置] : 0 ] (20 : - : アイテムID)
■条件分岐(変数): 【1】 CSelf43[アイテムID] が 0 と同じ
-◇分岐: 【1】 [ CSelf43[アイテムID] が 0 と同じ ]の場合↓
|●ラベル「終了」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|■
◇分岐終了◇
■変数操作: CSelf44[ユーザータイプID] = CSelf43[アイテムID] / 10000
■変数操作: CSelf43[アイテムID] %= 10000 + 0
■文章:「\udb[\cself[44]:\cself[43]:0]」を決定。
●ラベル地点「終了」 <<<<<<<<<<<<<<<<<<<<<<<<★
■ピクチャ消去:1 〜 399 / 0(0)フレーム


以上で設定完了です。


▲トップへ戻る▲



◎関連ページ

◆アイテムの一覧表の自作メニューを作る
┣◆アイテムの一覧表を「横2×縦12」に改造
┣◆アイテムの一覧表に説明画面を追加
┣◆アイテムの一覧表をマウスで操作
┗◆アイテムの一覧表にスクロールバーを追加

◆自作メニューの基礎講座(4×3の自作メニュー作り)

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

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