#=========================================================================
# 【YGE】 SP02 — 简易立绘菜单
#-------------------------------------------------------------------------
# By.小y君
#=========================================================================
# ● 使用说明
# 将脚本插入Main之上。设定好坐标什么的,放入素材。
#-------------------------------------------------------------------------
#---------------------------------------------------------------------
# — 设定部分
#---------------------------------------------------------------------
#菜单立绘的名字
Menu_lihui = "菜单立绘"
#=========================================================================
# ■ Scene_Menu
#-------------------------------------------------------------------------
# 处理菜单画面的类。
#=========================================================================
class Scene_Menu < Scene_Base
#---------------------------------------------------------------------
# ● 开始处理
#---------------------------------------------------------------------
def start
super
create_menu_background
create_command_window
@gold_window = Window_Gold.new(384, 360)
@menulihui = Sprite.new
@menulihui.bitmap = Cache.system(Menu_lihui)
@menulihui.x = -30
end
#---------------------------------------------------------------------
# ● 结束处理
#---------------------------------------------------------------------
def terminate
super
dispose_menu_background
@command_window.dispose
@gold_window.dispose
@menulihui.dispose
end
#---------------------------------------------------------------------
# ● 更新画面
#---------------------------------------------------------------------
def update
super
update_menu_background
@command_window.update
@gold_window.update
@menulihui.update
if @command_window.active
update_command_selection
elsif @status_window.active
update_actor_selection
end
end
#---------------------------------------------------------------------
# ● 更新指令选择
#---------------------------------------------------------------------
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
if $game_party.members.size == 0 and @command_window.index < 4
Sound.play_buzzer
return
elsif $game_system.save_disabled and @command_window.index == 4
Sound.play_buzzer
return
end
Sound.play_decision
case @command_window.index
when 0 # 物品
$scene = Scene_Item.new
when 1 # 存档
$scene = Scene_File.new(true, false, false)
when 2 # 结束
$scene = Scene_End.new
end
end
end
#---------------------------------------------------------------------
# ● 生成指令窗口
#---------------------------------------------------------------------
def create_command_window
s1 = "物品"
s2 = "存档"
s3 = "结束"
@command_window = Window_Command.new(160, [s1, s2, s3])
@command_window.index = @menu_index
@command_window.x = 280
@command_window.y = 160
if $game_party.members.size == 0 # 同伴人数为 0 的情况下
@command_window.draw_item(0, false) # 物品无效化
@command_window.draw_item(1, false) # 特技无效化
@command_window.draw_item(2, false) # 装备无效化
@command_window.draw_item(3, false) # 状态无效化
end
if $game_system.save_disabled # 禁止存档的情况下
@command_window.draw_item(4, false) # 存档无效化
end
end
end
class Scene_File < Scene_Base
#------------------------------------------------------------------------
# ● 还原至原先的画面
#------------------------------------------------------------------------
def return_scene
if @from_title
$scene = Scene_Title.new
elsif @from_event
$scene = Scene_Map.new
else
$scene = Scene_Menu.new(1)
end
end
end
class Scene_End < Scene_Base
#------------------------------------------------------------------------
# ● 还原至原来的画面
#------------------------------------------------------------------------
def return_scene
$scene = Scene_Menu.new(5)
end
end