WOLF RPGエディター(ウディタ)/自作メニュー【サイトトップへ戻る】
■自作アイテムメニュー:スクロールバーを追加
(更新:2024/06/01)


基礎ページ(自作アイテムメニューを作る)の処理に、スクロールバーの表示を追加します。



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

ショートカット
■改造内容の確認
■「横1×縦12」にスクロールバーを追加
■「横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ピクセル」になります。





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

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



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

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


▲トップへ戻る▲


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

「横1×縦12」にスクロールバーを追加します。



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

設定内容
8 セルフ変数[58]にスクロールバーのピクチャ番号を設定。
74-82 ▼ ■■■■■スクロールバーを準備
スクロールする行数が1以上ある場合は、スクロールバーを表示。
129-135 ▼ ■■■■■スクロールバーを表示
スクロールした行数からスクロールバーの表示位置を設定。



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

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

▼ ■■■■■■■■■■■■■■■■■■■■初期設定
▼ ■■■■■アイテムIDを保存する可変DB
■DB読込(可変): CSelf30[保存可変:タイプID] = 可変DB[タイプ一覧表用(20) のタイプ番号]
■変数操作: CSelf31[保存可変:項目ID] = 0 + 0
▼ ■■■■■一覧の表示数
■変数操作: CSelf21[縦項目数] = 12 + 0
▼ ■■■■■ピクチャ番号
■変数操作: CSelf55[基本ピクチャ[0]ウィンドウ] = 0 + 0
■変数操作: CSelf58[ピクチャ[3]スクロールバー] = CSelf55[基本ピクチャ[0]ウィンドウ] + 3
■変数操作: 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
■変数操作: CSelf24[カーソル位置] = 0 + 0
▼ ■■■■■■■■■■■■■■■■■■■■ウィンドウ・カーソルを表示
■ピクチャ表示:CSelf55[基本ピクチャ[0]ウィンドウ] [中心]ウィンドウ「SystemFile/WindowBase_amania.png」サイズ[150,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登録数] - CSelf21[縦項目数]
■変数操作: CSelf28[スクロール最大行] 下限= 0 + 0
▼ ■■■■■スクロールバーを準備
■条件分岐(変数): 【1】 CSelf28[スクロール最大行] が 1 以上
-◇分岐: 【1】 [ CSelf28[スクロール最大行] が 1 以上 ]の場合↓
|■変数操作: CSelf15[一時:所持数・拡大率・幅] = CSelf21[縦項目数] * 196
|■変数操作: CSelf15[一時:所持数・拡大率・幅] /= CSelf21[縦項目数] + CSelf28[スクロール最大行]
|■変数操作: CSelf15[一時:所持数・拡大率・幅] 下限= 5 + 0
|■ピクチャ表示:CSelf58[ピクチャ[3]スクロールバー] [左上]ウィンドウ「SystemFile/CursorBase.png」
       サイズ[5,CSelf15[一時:所持数・拡大率・幅]] X:229 Y:22 / 0(0)フレーム / パターン 1 /
       透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇

▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
●ラベル地点「表示更新」 <<<<<<<<<<<<<<<<<<<<<<<<★
▼ ■■■■■[▲][▼]を表示
■ピクチャ消去: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
■変数操作: CSelf43[X位置[100〜]] = 97 + 0
■変数操作: CSelf44[X位置[200〜]] = 196 + 0
■変数操作: CSelf45[X位置[300〜]] = 223 + 0
■変数操作: CSelf46[Y位置] = 26 + 0
■変数操作: CSelf34[データID] = CSelf27[スクロール行数] + 0
■回数付きループ [ CSelf21[縦項目数] ]回
|■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
|■ピクチャ表示: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
|■
◇ループここまで◇◇
▼ ■■■■■スクロールバーを表示
■変数操作: CSelf46[Y位置] = 196 + 0
■変数操作+: CSelf46[Y位置] -= ピクチャ:CSelf58[ピクチャ[3]スクロールバー] の 画像サイズ(縦)
■変数操作: CSelf46[Y位置] *= CSelf27[スクロール行数] + 0
■変数操作: CSelf46[Y位置] /= CSelf28[スクロール最大行] + 0
■変数操作: CSelf46[Y位置] += 22 + 0
■ピクチャ移動:CSelf58[ピクチャ[3]スクロールバー] X:229 Y:CSelf46[Y位置] / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値

▼ ■■■■■カーソルを表示
■変数操作: CSelf46[Y位置] = CSelf24[カーソル位置] * 16
■変数操作: CSelf46[Y位置] += 24 + 0
■ピクチャ移動:CSelf59[ピクチャ[10]カーソル] X:93 Y:CSelf46[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】 CSelf24[カーソル位置] が 1 以上
          【2】 CSelf27[スクロール行数] が 1 以上
||-◇分岐: 【1】 [ CSelf24[カーソル位置] が 1 以上 ]の場合↓
|||■変数操作: CSelf24[カーソル位置] -= 1 + 0
|||■
||-◇分岐: 【2】 [ CSelf27[スクロール行数] が 1 以上 ]の場合↓
|||■変数操作: CSelf27[スクロール行数] -= 1 + 0
|||■
||-◇上記以外
|||■変数操作: CSelf24[カーソル位置] = CSelf32[可変DB登録数] - 1
|||■変数操作: CSelf24[カーソル位置] -= CSelf28[スクロール最大行] + 0
|||■変数操作: CSelf27[スクロール行数] = CSelf28[スクロール最大行] + 0
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ CSelf10[キー入力・マウス操作] が 2 と同じ ]の場合↓
||▼ ■■■■■下キーを押した
||■変数操作: CSelf24[カーソル位置] += 1 + 0
||■条件分岐(変数): 【1】 CSelf24[カーソル位置] が CSelf21[縦項目数] 以上
          【2】 CSelf24[カーソル位置] が CSelf32[可変DB登録数] 以上
||-◇分岐: 【1】 [ CSelf24[カーソル位置] が CSelf21[縦項目数] 以上 ]の場合↓
|||■条件分岐(変数): 【1】 CSelf27[スクロール行数] が CSelf28[スクロール最大行] 未満
|||-◇分岐: 【1】 [ CSelf27[スクロール行数] が CSelf28[スクロール最大行] 未満 ]の場合↓
||||■変数操作: CSelf24[カーソル位置] -= 1 + 0
||||■変数操作: CSelf27[スクロール行数] += 1 + 0
||||■
|||-◇上記以外
||||■変数操作: CSelf24[カーソル位置] = 0 + 0
||||■変数操作: CSelf27[スクロール行数] = 0 + 0
||||■
|||◇分岐終了◇
|||■
||-◇分岐: 【2】 [ CSelf24[カーソル位置] が CSelf32[可変DB登録数] 以上 ]の場合↓
|||■変数操作: CSelf24[カーソル位置] = 0 + 0
|||■
||◇分岐終了◇
|●ラベル「表示更新」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|■
◇ループここまで◇◇
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■回数付きループ [ 0 ]回
|▼ ■■■■■■■■■■決定した時の処理
|●ラベル地点「決定」 <<<<<<<<<<<<<<<<<<<<<<<<★
|■条件分岐(変数): 【1】 CSelf32[可変DB登録数] が 0 と同じ
|-◇分岐: 【1】 [ CSelf32[可変DB登録数] が 0 と同じ ]の場合↓
||■ループ中断
||■
|◇分岐終了◇
|■変数操作: CSelf24[カーソル位置] += CSelf27[スクロール行数] + 0
|■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」にスクロールバーを追加

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



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



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





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

設定内容
8 セルフ変数[58]にスクロールバーのピクチャ番号を設定。
78-86 ▼ ■■■■■スクロールバーを準備
スクロールする行数が1以上ある場合は、スクロールバーを表示。
142-148 ▼ ■■■■■スクロールバーを表示
スクロールした行数からスクロールバーの表示位置を設定。



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

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

▼ ■■■■■■■■■■■■■■■■■■■■初期設定
▼ ■■■■■アイテムIDを保存する可変DB
■DB読込(可変): CSelf30[保存可変:タイプID] = 可変DB[タイプ一覧表用(20) のタイプ番号]
■変数操作: CSelf31[保存可変:項目ID] = 0 + 0
▼ ■■■■■一覧の表示数
■変数操作: CSelf20[横項目数] = 2 + 0
■変数操作: CSelf21[縦項目数] = 12 + 0
▼ ■■■■■ピクチャ番号
■変数操作: CSelf55[基本ピクチャ[0]ウィンドウ] = 0 + 0
■変数操作: CSelf58[ピクチャ[3]スクロールバー] = CSelf55[基本ピクチャ[0]ウィンドウ] + 3
■変数操作: 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
▼ ■■■■■スクロールバーを準備
■条件分岐(変数): 【1】 CSelf28[スクロール最大行] が 1 以上
-◇分岐: 【1】 [ CSelf28[スクロール最大行] が 1 以上 ]の場合↓
|■変数操作: CSelf15[一時:所持数・拡大率・幅] = CSelf21[縦項目数] * 196
|■変数操作: CSelf15[一時:所持数・拡大率・幅] /= CSelf21[縦項目数] + CSelf28[スクロール最大行]
|■変数操作: CSelf15[一時:所持数・拡大率・幅] 下限= 5 + 0
|■ピクチャ表示:CSelf58[ピクチャ[3]スクロールバー] [左上]ウィンドウ「SystemFile/CursorBase.png」
       サイズ[5,CSelf15[一時:所持数・拡大率・幅]] X:296 Y:22 / 0(0)フレーム / パターン 1 /
       透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇

▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
●ラベル地点「表示更新」 <<<<<<<<<<<<<<<<<<<<<<<<★
▼ ■■■■■[▲][▼]を表示
■ピクチャ消去: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
|■変数操作: CSelf34[データID] += 1 + 0
|■変数操作: CSelf38[一覧表示済み数] += 1 + 0
|■
◇ループここまで◇◇
▼ ■■■■■スクロールバーを表示
■変数操作: CSelf46[Y位置] = 196 + 0
■変数操作+: CSelf46[Y位置] -= ピクチャ:CSelf58[ピクチャ[3]スクロールバー] の 画像サイズ(縦)
■変数操作: CSelf46[Y位置] *= CSelf27[スクロール行数] + 0
■変数操作: CSelf46[Y位置] /= CSelf28[スクロール最大行] + 0
■変数操作: CSelf46[Y位置] += 22 + 0
■ピクチャ移動:CSelf58[ピクチャ[3]スクロールバー] X:296 Y:CSelf46[Y位置] / 0(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 フレーム

以上で設定完了です。


▲トップへ戻る▲


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

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

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



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



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

設定内容
8 セルフ変数[58]にスクロールバーのピクチャ番号を設定。
77-85 ▼ ■■■■■スクロールバーを準備
スクロールする行数が1以上ある場合は、スクロールバーを表示。
132-138 ▼ ■■■■■スクロールバーを表示
スクロールした行数からスクロールバーの表示位置を設定。
189-218 ▼ ■■■■■マウス:スクロールバーの操作
スクロールバーの上にマウスポインタが乗っている場合は分岐し、
スクロールバーを点滅させる。
クリックした場合は、
スクロールバーとマウスのY位置を合わせたものをセルフ変数[48]に保存。
何も操作していない場合は、スクロールバーの点滅を終了させる。
219-239 スクロールバーのドラッグ(クリックし続けている状態)している場合は分岐し、
マウスのY位置の変化に応じて一覧をスクロールさせる。
そしてラベル「表示更新」へジャンプし、一覧やスクロールバーの表示を更新。
※スクロールバーを操作している時には、他の操作は受け付けない。



横1×縦12+マウス操作 【イベントコード表示】 【コモン出力ファイル】
横2×縦12+マウス操作 【イベントコード表示】 【コモン出力ファイル】

■[横1×縦12+マウス操作]にスクロールバーを追加

▼ ■■■■■■■■■■■■■■■■■■■■初期設定
▼ ■■■■■アイテムIDを保存する可変DB
■DB読込(可変): CSelf30[保存可変:タイプID] = 可変DB[タイプ一覧表用(20) のタイプ番号]
■変数操作: CSelf31[保存可変:項目ID] = 0 + 0
▼ ■■■■■一覧の表示数
■変数操作: CSelf21[縦項目数] = 12 + 0
▼ ■■■■■ピクチャ番号
■変数操作: CSelf55[基本ピクチャ[0]ウィンドウ] = 0 + 0
■変数操作: CSelf58[ピクチャ[3]スクロールバー] = CSelf55[基本ピクチャ[0]ウィンドウ] + 3
■変数操作: CSelf59[ピクチャ[10]カーソル] = CSelf55[基本ピクチャ[0]ウィンドウ] + 10
■変数操作: CSelf60[ピクチャ[11]マウス範囲] = CSelf55[基本ピクチャ[0]ウィンドウ] + 11
■変数操作: CSelf61[ピクチャ[20]▲] = CSelf55[基本ピクチャ[0]ウィンドウ] + 20
■変数操作: CSelf62[ピクチャ[21]▼] = CSelf55[基本ピクチャ[0]ウィンドウ] + 21
■変数操作: CSelf63[ピクチャ[22]▲▼マウス] = CSelf55[基本ピクチャ[0]ウィンドウ] + 22
■変数操作: CSelf64[ピクチャ[100]アイテム名] = CSelf55[基本ピクチャ[0]ウィンドウ] + 100
■変数操作: CSelf65[ピクチャ[200]×] = CSelf55[基本ピクチャ[0]ウィンドウ] + 200
■変数操作: CSelf66[ピクチャ[300]所持数] = CSelf55[基本ピクチャ[0]ウィンドウ] + 300
■変数操作: CSelf67[ピクチャ[399]消去] = CSelf55[基本ピクチャ[0]ウィンドウ] + 399
▼ ■■■■■変数の値を初期化
■変数操作: CSelf12[起動時キー押し禁止] = 1 + 0
■変数操作: CSelf24[カーソル位置] = 0 + 0
▼ ■■■■■■■■■■■■■■■■■■■■ウィンドウ・カーソルを表示
■ピクチャ表示:CSelf55[基本ピクチャ[0]ウィンドウ] [中心]ウィンドウ「SystemFile/WindowBase_amania.png」サイズ[150,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)フレーム
■ピクチャ表示:CSelf60[ピクチャ[11]マウス範囲] [中心]ウィンドウ「<SQUARE>」サイズ[134,192] X:160 Y:120 / 0(0)フレーム /
       パターン 1 / 透 0 / 通常 / 角 0 / 拡 100% / カラー R[0] G[100] B[100]
▼ ■■■■■■■■■■■■■■■■■■■■所持アイテムをチェック
■可変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登録数] - CSelf21[縦項目数]
■変数操作: CSelf28[スクロール最大行] 下限= 0 + 0
▼ ■■■■■スクロールバーを準備
■条件分岐(変数): 【1】 CSelf28[スクロール最大行] が 1 以上
-◇分岐: 【1】 [ CSelf28[スクロール最大行] が 1 以上 ]の場合↓
|■変数操作: CSelf15[一時:所持数・拡大率・幅] = CSelf21[縦項目数] * 196
|■変数操作: CSelf15[一時:所持数・拡大率・幅] /= CSelf21[縦項目数] + CSelf28[スクロール最大行]
|■変数操作: CSelf15[一時:所持数・拡大率・幅] 下限= 5 + 0
|■ピクチャ表示:CSelf58[ピクチャ[3]スクロールバー] [左上]ウィンドウ「SystemFile/CursorBase.png」
       サイズ[5,CSelf15[一時:所持数・拡大率・幅]] X:229 Y:22 / 0(0)フレーム / パターン 1 /
       透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇

▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
●ラベル地点「表示更新」 <<<<<<<<<<<<<<<<<<<<<<<<★
▼ ■■■■■[▲][▼]を表示
■ピクチャ消去: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
■変数操作: CSelf43[X位置[100〜]] = 97 + 0
■変数操作: CSelf44[X位置[200〜]] = 196 + 0
■変数操作: CSelf45[X位置[300〜]] = 223 + 0
■変数操作: CSelf46[Y位置] = 26 + 0
■変数操作: CSelf34[データID] = CSelf27[スクロール行数] + 0
■回数付きループ [ CSelf21[縦項目数] ]回
|■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
|■ピクチャ表示: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
|■
◇ループここまで◇◇
▼ ■■■■■スクロールバーを表示
■変数操作: CSelf46[Y位置] = 196 + 0
■変数操作+: CSelf46[Y位置] -= ピクチャ:CSelf58[ピクチャ[3]スクロールバー] の 画像サイズ(縦)
■変数操作: CSelf46[Y位置] *= CSelf27[スクロール行数] + 0
■変数操作: CSelf46[Y位置] /= CSelf28[スクロール最大行] + 0
■変数操作: CSelf46[Y位置] += 22 + 0
■ピクチャ移動:CSelf58[ピクチャ[3]スクロールバー] X:229 Y:CSelf46[Y位置] / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値

▼ ■■■■■カーソルを表示
■変数操作: CSelf46[Y位置] = CSelf24[カーソル位置] * 16
■変数操作: CSelf46[Y位置] += 24 + 0
■ピクチャ移動:CSelf59[ピクチャ[10]カーソル] X:93 Y:CSelf46[Y位置] / 0(0)フレーム / パターン 1 /
       透 255 / 表示形式:同値 / 角 0 / 拡 同値 / カラー 同値
▼ ■■■■■■■■■■■■■■■■■■■■キー処理
■ループ開始
|▼ ■■■■■カーソル移動SE
|■変数操作: CSelf16[一時:カーソル位置+行] = CSelf24[カーソル位置] + CSelf27[スクロール行数]
|■条件分岐(変数): 【1】 CSelf26[SE:カーソル移動] が CSelf16[一時:カーソル位置+行] 以外
|-◇分岐: 【1】 [ CSelf26[SE:カーソル移動] が CSelf16[一時:カーソル位置+行] 以外 ]の場合↓
||■変数操作: CSelf26[SE:カーソル移動] = CSelf16[一時:カーソル位置+行] + 0
||▼ カーソル移動時のSEを設定する場合は、ここに設定
||■
|◇分岐終了◇
|■ウェイト:1 フレーム
|■変数操作: CSelf14[クリック待ち時間] -= 1 + 0
|▼ ■■■■■■■■■■マウス操作
|▼ ■■■■■マウス:右クリック

|■変数操作+: CSelf10[キー入力・マウス操作] = マウス右クリック状態
|■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 2 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 2 と同じ ]の場合↓
||●ラベル「キャンセル」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
||■
|◇分岐終了◇
|▼ ■■■■■マウス:ホイール操作
|■変数操作+: CSelf10[キー入力・マウス操作] = マウスホイール変化
|■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 0 以外
|-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 0 以外 ]の場合↓
||■条件分岐(変数): 【1】 CSelf27[スクロール行数] が CSelf28[スクロール最大行] 超
          【2】 CSelf10[キー入力・マウス操作] が 1 以上
||-◇分岐: 【1】 [ CSelf27[スクロール行数] が CSelf28[スクロール最大行] 超 ]の場合↓
|||■
||-◇分岐: 【2】 [ CSelf10[キー入力・マウス操作] が 1 以上 ]の場合↓
|||■変数操作: CSelf27[スクロール行数] -= CSelf10[キー入力・マウス操作] + 0
|||■変数操作: CSelf27[スクロール行数] 下限= 0 + 0
|||●ラベル「表示更新」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|||■
||◇分岐終了◇
||■条件分岐(変数): 【1】 CSelf27[スクロール行数] が CSelf28[スクロール最大行] 超
          【2】 CSelf10[キー入力・マウス操作] が -1 以下
||-◇分岐: 【1】 [ CSelf27[スクロール行数] が CSelf28[スクロール最大行] 超 ]の場合↓
|||■
||-◇分岐: 【2】 [ CSelf10[キー入力・マウス操作] が -1 以下 ]の場合↓
|||■変数操作: CSelf27[スクロール行数] -= CSelf10[キー入力・マウス操作] + 0
|||■変数操作: CSelf27[スクロール行数] 上限= CSelf28[スクロール最大行] + 0
|||●ラベル「表示更新」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■変数操作+: CSelf10[キー入力・マウス操作] = マウス左クリック状態
|▼ ■■■■■マウス:スクロールバーの操作
|■変数操作+: CSelf18[一時:乗っているか判断] = ピクチャ:CSelf58[ピクチャ[3]スクロールバー]のマウス重なってる?(1=YES)
|■条件分岐(変数): 【1】 CSelf18[一時:乗っているか判断] が 1 と同じ
          【2】 CSelf48[バー開始マウスY] が 1 以上
|-◇分岐: 【1】 [ CSelf18[一時:乗っているか判断] が 1 と同じ ]の場合↓
||■条件分岐(変数): 【1】 CSelf13[クリック処理内容] が 4 以外
||-◇分岐: 【1】 [ CSelf13[クリック処理内容] が 4 以外 ]の場合↓
|||▼ スクロールバーにマウスポインタが重なった時
|||■変数操作: CSelf13[クリック処理内容] = 4 + 0
|||■ピクチャエフェクト:CSelf58[ピクチャ[3]スクロールバー] [点滅A(明滅)] R0/G100/B100 明滅間隔(30)フレーム
|||■
||◇分岐終了◇
||■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 2 と同じ
||-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 2 と同じ ]の場合↓
|||▼ スクロールバーをクリックし始めた時
|||■変数操作+: CSelf48[バー開始マウスY] = マウスY座標
|||■変数操作+: CSelf48[バー開始マウスY] -= ピクチャ:CSelf58[ピクチャ[3]スクロールバー] の Y座標
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ CSelf48[バー開始マウスY] が 1 以上 ]の場合↓
||■
|-◇上記以外
||■ピクチャエフェクト:CSelf58[ピクチャ[3]スクロールバー] [点滅A(明滅)] R0/G0/B0 明滅間隔(0)フレーム
||■条件分岐(変数): 【1】 CSelf13[クリック処理内容] が 4 と同じ
||-◇分岐: 【1】 [ CSelf13[クリック処理内容] が 4 と同じ ]の場合↓
|||■変数操作: CSelf13[クリック処理内容] = 0 + 0
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf48[バー開始マウスY] が 1 以上
|-◇分岐: 【1】 [ CSelf48[バー開始マウスY] が 1 以上 ]の場合↓
||■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 1 以上
||-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 1 以上 ]の場合↓
|||▼ スクロールバーをドラッグ操作中
|||■変数操作+: CSelf27[スクロール行数] = マウスY座標
|||■変数操作: CSelf27[スクロール行数] -= CSelf48[バー開始マウスY] + 0
|||■変数操作: CSelf27[スクロール行数] *= CSelf28[スクロール最大行] + 0
|||■変数操作: CSelf15[一時:所持数・拡大率・幅] = 196 + 0
|||■変数操作+: CSelf15[一時:所持数・拡大率・幅] -= ピクチャ:CSelf58[ピクチャ[3]スクロールバー] の 画像サイズ(縦)
|||■変数操作: CSelf27[スクロール行数] /= CSelf15[一時:所持数・拡大率・幅] + 0
|||■変数操作: CSelf27[スクロール行数] 下限= 0 + 0
|||■変数操作: CSelf27[スクロール行数] 上限= CSelf28[スクロール最大行] + 0
|||■
||-◇上記以外
|||■変数操作: CSelf48[バー開始マウスY] = 0 + 0
|||■
||◇分岐終了◇
||●ラベル「表示更新」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
||■
|◇分岐終了◇

|▼ ■■■■■マウス:[▲]
|■変数操作+: CSelf18[一時:乗っているか判断] = ピクチャ:CSelf61[ピクチャ[20]▲] の マウス重なってる?(1=YES)
|■条件分岐(変数): 【1】 CSelf18[一時:乗っているか判断] が 1 と同じ
          【2】 CSelf13[クリック処理内容] が 20 と同じ
|-◇分岐: 【1】 [ CSelf18[一時:乗っているか判断] が 1 と同じ ]の場合↓
||■条件分岐(変数): 【1】 CSelf13[クリック処理内容] が 20 以外
||-◇分岐: 【1】 [ CSelf13[クリック処理内容] が 20 以外 ]の場合↓
|||▼ [▲]にマウスポインタが重なった時
|||■変数操作: CSelf13[クリック処理内容] = 20 + 0
|||■変数操作+: CSelf43[X位置[100〜]] = ピクチャ:CSelf61[ピクチャ[20]▲] の X座標
|||■変数操作+: CSelf46[Y位置] = ピクチャ:CSelf61[ピクチャ[20]▲] の Y座標
|||■ピクチャ表示:CSelf63[ピクチャ[22]▲▼マウス] [中心]文字列[\f[14]▲]
        X:CSelf43[X位置[100〜]] Y:CSelf46[Y位置] / 0(0)フレーム / パターン 1 /
        透 255 / 通常 / 角 0 / 拡 100% / カラー R[0] G[100] B[100]
|||■ピクチャエフェクト:CSelf63[ピクチャ[22]▲▼マウス] [点滅A(明滅)] R100/G100/B100 明滅間隔(30)フレーム
|||■
||◇分岐終了◇
||■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 2 と同じ
          【2】 CSelf14[クリック待ち時間] が 1 以上
          【3】 CSelf10[キー入力・マウス操作] が 1 以上
||-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 2 と同じ ]の場合↓
|||▼ [▲]をクリックし始めた
|||■変数操作: CSelf14[クリック待ち時間] = 20 + 0
|||■変数操作: CSelf27[スクロール行数] -= 1 + 0
|||■変数操作: CSelf27[スクロール行数] 下限= 0 + 0
|||●ラベル「表示更新」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|||■
||-◇分岐: 【2】 [ CSelf14[クリック待ち時間] が 1 以上 ]の場合↓
|||■
||-◇分岐: 【3】 [ CSelf10[キー入力・マウス操作] が 1 以上 ]の場合↓
|||■条件分岐(変数): 【1】 CSelf14[クリック待ち時間] が 0 と同じ
|||-◇分岐: 【1】 [ CSelf14[クリック待ち時間] が 0 と同じ ]の場合↓
||||▼ [▲]を一定時間押し続けたので、画面をスクロール
||||■変数操作: CSelf14[クリック待ち時間] = 6 + 0
||||■変数操作: CSelf27[スクロール行数] -= 1 + 0
||||■変数操作: CSelf27[スクロール行数] 下限= 0 + 0
||||●ラベル「表示更新」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
||||■
|||◇分岐終了◇
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ CSelf13[クリック処理内容] が 20 と同じ ]の場合↓
||■変数操作: CSelf13[クリック処理内容] = 0 + 0
||■ピクチャ消去:CSelf63[ピクチャ[22]▲▼マウス] / 0(0)フレーム
||■
|◇分岐終了◇
|▼ ■■■■■マウス:[▼]
|■変数操作+: CSelf18[一時:乗っているか判断] = ピクチャ:CSelf62[ピクチャ[21]▼] の マウス重なってる?(1=YES)
|■条件分岐(変数): 【1】 CSelf18[一時:乗っているか判断] が 1 と同じ
          【2】 CSelf13[クリック処理内容] が 21 と同じ
|-◇分岐: 【1】 [ CSelf18[一時:乗っているか判断] が 1 と同じ ]の場合↓
||■条件分岐(変数): 【1】 CSelf13[クリック処理内容] が 21 以外
||-◇分岐: 【1】 [ CSelf13[クリック処理内容] が 21 以外 ]の場合↓
|||▼ [▼]にマウスポインタが重なった時
|||■変数操作: CSelf13[クリック処理内容] = 21 + 0
|||■変数操作+: CSelf43[X位置[100〜]] = ピクチャ:CSelf62[ピクチャ[21]▼] の X座標
|||■変数操作+: CSelf46[Y位置] = ピクチャ:CSelf62[ピクチャ[21]▼] の Y座標
|||■ピクチャ表示:CSelf63[ピクチャ[22]▲▼マウス] [中心]文字列[\f[14]▼]
        X:CSelf43[X位置[100〜]] Y:CSelf46[Y位置] / 0(0)フレーム / パターン 1 /
        透 255 / 通常 / 角 0 / 拡 100% / カラー R[0] G[100] B[100]
|||■ピクチャエフェクト:CSelf63[ピクチャ[22]▲▼マウス] [点滅A(明滅)] R100/G100/B100 明滅間隔(30)フレーム
|||■
||◇分岐終了◇
||■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 2 と同じ
          【2】 CSelf14[クリック待ち時間] が 1 以上
          【3】 CSelf10[キー入力・マウス操作] が 1 以上
||-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 2 と同じ ]の場合↓
|||▼ [▼]をクリックし始めた
|||■変数操作: CSelf14[クリック待ち時間] = 20 + 0
|||■変数操作: CSelf27[スクロール行数] += 1 + 0
|||■変数操作: CSelf27[スクロール行数] 上限= CSelf28[スクロール最大行] + 0
|||●ラベル「表示更新」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|||■
||-◇分岐: 【2】 [ CSelf14[クリック待ち時間] が 1 以上 ]の場合↓
|||■
||-◇分岐: 【3】 [ CSelf10[キー入力・マウス操作] が 1 以上 ]の場合↓
|||■条件分岐(変数): 【1】 CSelf14[クリック待ち時間] が 0 と同じ
|||-◇分岐: 【1】 [ CSelf14[クリック待ち時間] が 0 と同じ ]の場合↓
||||▼ [▼]を一定時間押し続けたので、画面をスクロール
||||■変数操作: CSelf14[クリック待ち時間] = 6 + 0
||||■変数操作: CSelf27[スクロール行数] += 1 + 0
||||■変数操作: CSelf27[スクロール行数] 上限= CSelf28[スクロール最大行] + 0
||||●ラベル「表示更新」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
||||■
|||◇分岐終了◇
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ CSelf13[クリック処理内容] が 21 と同じ ]の場合↓
||■変数操作: CSelf13[クリック処理内容] = 0 + 0
||■ピクチャ消去:CSelf63[ピクチャ[22]▲▼マウス] / 0(0)フレーム
||■
|◇分岐終了◇
|▼ ■■■■■マウス:カーソル処理
|■変数操作+: CSelf47[マウス項目選択中] = ピクチャ:CSelf60[ピクチャ[11]マウス範囲] の マウス重なってる?(1=YES)
|■条件分岐(変数): 【1】 CSelf47[マウス項目選択中] が 0 と同じ
|-◇分岐: 【1】 [ CSelf47[マウス項目選択中] が 0 と同じ ]の場合↓
||▼ マウスポインタが反応範囲(ピクチャ[11])の上に無い時
||●ラベル「マウス通過」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
||■
|◇分岐終了◇
|■変数操作+: CSelf25[マウスカーソル位置] = マウスY座標
|■変数操作: CSelf25[マウスカーソル位置] -= 24 + 0
|■変数操作: CSelf25[マウスカーソル位置] /= 16 + 0
|■変数操作: CSelf25[マウスカーソル位置] 上限= CSelf21[縦項目数] - 1
|■条件分岐(変数): 【1】 CSelf25[マウスカーソル位置] が CSelf32[可変DB登録数] 以上
|-◇分岐: 【1】 [ CSelf25[マウスカーソル位置] が CSelf32[可変DB登録数] 以上 ]の場合↓
||▼ マウスポインタがアイテム名が無い所を選択
||■変数操作: CSelf47[マウス項目選択中] = 0 + 0
||●ラベル「マウス通過」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf25[マウスカーソル位置] が CSelf24[カーソル位置] 以外
|-◇分岐: 【1】 [ CSelf25[マウスカーソル位置] が CSelf24[カーソル位置] 以外 ]の場合↓
||▼ マウスポインタで別のカーソル位置を選択→カーソル表示を更新
||■変数操作: CSelf24[カーソル位置] = CSelf25[マウスカーソル位置] + 0
||●ラベル「表示更新」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
||■
|◇分岐終了◇
|▼ ■■■■■マウス:アイテム名をクリック
|■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 2 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 2 と同じ ]の場合↓
||●ラベル「決定」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
||■
|◇分岐終了◇
|●ラベル地点「マウス通過」 <<<<<<<<<<<<<<<<<<<<<<<<★
|▼ キーボード操作を無くし、マウス操作のみにする場合は、この位置に【■ループ開始へ戻る】を設置
|▼ ■■■■■■■■■■キーボード操作

|■変数操作: 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 以上 ]の場合↓
||■ループ開始へ戻る
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf47[マウス項目選択中] が 1 と同じ
|-◇分岐: 【1】 [ CSelf47[マウス項目選択中] が 1 と同じ ]の場合↓
||■ループ開始へ戻る
||■
|◇分岐終了◇
|▼ ■■■■■■■■■■カーソル移動処理
|■変数操作: CSelf11[キー待ち時間] = 12 + 0
|■条件分岐(変数): 【1】 CSelf10[キー入力・マウス操作] が 8 と同じ
          【2】 CSelf10[キー入力・マウス操作] が 2 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力・マウス操作] が 8 と同じ ]の場合↓
||▼ ■■■■■上キーを押した
||■条件分岐(変数): 【1】 CSelf24[カーソル位置] が 1 以上
          【2】 CSelf27[スクロール行数] が 1 以上
||-◇分岐: 【1】 [ CSelf24[カーソル位置] が 1 以上 ]の場合↓
|||■変数操作: CSelf24[カーソル位置] -= 1 + 0
|||■
||-◇分岐: 【2】 [ CSelf27[スクロール行数] が 1 以上 ]の場合↓
|||■変数操作: CSelf27[スクロール行数] -= 1 + 0
|||■
||-◇上記以外
|||■変数操作: CSelf24[カーソル位置] = CSelf32[可変DB登録数] - 1
|||■変数操作: CSelf24[カーソル位置] -= CSelf28[スクロール最大行] + 0
|||■変数操作: CSelf27[スクロール行数] = CSelf28[スクロール最大行] + 0
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ CSelf10[キー入力・マウス操作] が 2 と同じ ]の場合↓
||▼ ■■■■■下キーを押した
||■変数操作: CSelf24[カーソル位置] += 1 + 0
||■条件分岐(変数): 【1】 CSelf24[カーソル位置] が CSelf21[縦項目数] 以上
          【2】 CSelf24[カーソル位置] が CSelf32[可変DB登録数] 以上
||-◇分岐: 【1】 [ CSelf24[カーソル位置] が CSelf21[縦項目数] 以上 ]の場合↓
|||■条件分岐(変数): 【1】 CSelf27[スクロール行数] が CSelf28[スクロール最大行] 未満
|||-◇分岐: 【1】 [ CSelf27[スクロール行数] が CSelf28[スクロール最大行] 未満 ]の場合↓
||||■変数操作: CSelf24[カーソル位置] -= 1 + 0
||||■変数操作: CSelf27[スクロール行数] += 1 + 0
||||■
|||-◇上記以外
||||■変数操作: CSelf24[カーソル位置] = 0 + 0
||||■変数操作: CSelf27[スクロール行数] = 0 + 0
||||■
|||◇分岐終了◇
|||■
||-◇分岐: 【2】 [ CSelf24[カーソル位置] が CSelf32[可変DB登録数] 以上 ]の場合↓
|||■変数操作: CSelf24[カーソル位置] = 0 + 0
|||■
||◇分岐終了◇
|●ラベル「表示更新」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|■
◇ループここまで◇◇
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■回数付きループ [ 0 ]回
|▼ ■■■■■■■■■■決定した時の処理
|●ラベル地点「決定」 <<<<<<<<<<<<<<<<<<<<<<<<★
|■条件分岐(変数): 【1】 CSelf32[可変DB登録数] が 0 と同じ
|-◇分岐: 【1】 [ CSelf32[可変DB登録数] が 0 と同じ ]の場合↓
||■ループ中断
||■
|◇分岐終了◇
|■変数操作: Sys73:文・選択肢のマウス入力(1なら受付) = 1 + 0
|■変数操作: CSelf24[カーソル位置] += CSelf27[スクロール行数] + 0
|■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トップ  気紛れな空間へ戻る  メール