XP 簡易メニューコマンド
RPGツクールXPで、簡単にメニューウィンドウを表示させるためのイベントコマンド
を作るスクリプトです。
Mainセクションよりも上に新しいセクションを作って、以下のスクリプトをそこに入力してください。
#
以下、スクリプト
class Small_Menu
def initialize(stat, x, y, width, commands,
disable = -1)
Graphics.freeze
@stat = stat
@small_menu =
Window_Command.new(width, commands)
@small_menu.x = x
@small_menu.y =
y
@small_menu.back_opacity = 160
@disable = disable
if disable !=
-1
for number in disable
@small_menu.disable_item(number -
1)
end
end
@break_flag = false
Graphics.transition
loop
do
Graphics.update
Input.update
update
if @break_flag ==
true
break
end
end
Graphics.freeze
@small_menu.dispose
Graphics.transition
end
def
update
@small_menu.update
if Input.trigger?(Input::B)
@cansel =
false
$game_system.se_play($data_system.cancel_se)
$game_variables[@stat]
= 0
@break_flag = true
end
if Input.trigger?(Input::C)
cansel =
false
if @disable != -1
for number in @disable
if @small_menu.index ==
number - 1
cansel = true
end
end
end
if cansel !=
true
$game_system.se_play($data_system.decision_se)
$game_variables[@stat]
= @small_menu.index + 1
@break_flag =
true
else
$game_system.se_play($data_system.cancel_se)
end
end
end
end
#
以上、スクリプト
これで完了です。メニューを表示させたいときは。
イベントコマンドのスクリプトで、
Small_Menu.new(id,x,y,width,["A","B","C",...],[1,2,3,...])
という具合に入力してください。少し詳しく説明しますと・・・
id
: 選択された項目の行番号を代入する変数の番号(キャンセルのときは、この変数に0が代入されます)
x : メニューウィンドウの左上の画面X座標
y
: メニューウィンドウの左上の画面Y座標
width : メニューウィンドウの幅
["A","B","C",...] :
項目として表示させる文字列
[1,2,3,...] :
選択不可にする項目の行番号(省略することができます、省略すると、全ての項目が選択可能になります。)
簡単な使用例を、下に書いておきたいと思います。
Small_Menu.new(1,150,100,200,["メニュー","名前変更","セーブ","終了"])
◆条件分岐:変数[0001:選択結果]
== 0
◆イベント処理の中断
◆
:分岐終了
◆条件分岐:変数[0001:選択結果] ==
1
◆メニュー画面の呼び出し
◆
:分岐終了
◆条件分岐:変数[0001:選択結果] ==
2
◆名前入力の処理:アルシェス,6文字
◆
:分岐終了
◆条件分岐:変数[0001:選択結果] ==
3
◆セーブ画面の呼び出し
◆
:分岐終了
◆条件分岐:変数[0001:選択結果] ==
4
◆タイトル画面に戻す
◆
:分岐終了
◆
上のような実行内容の場合、
・メニュー
・名前変更
・セーブ
・終了
という選択肢が表示され、項目を選択すると、それに応じた処理がされるようになるというわけです。