例如,菜单里有一个“打造”选项,打造选项里又包含“武器”、“防具”、“饰品”,这三个子选项。
#==============================================================================# ■ Scene_Menu#------------------------------------------------------------------------------# 处理菜单画面的类。#============================================================================== class Scene_Menu < Scene_Base #-------------------------------------------------------------------------- # ● 初始化对像 # menu_index : 命令窗口光标初始位置 #-------------------------------------------------------------------------- def initialize(menu_index = 0) @menu_index = menu_index end #-------------------------------------------------------------------------- # ● 开始处理 #-------------------------------------------------------------------------- def start super create_menu_background #------------------------------------------- create_command_window2 @command_window2.x = 160 @command_window2.y = 150 @command_window2.z = 101 @command_window2.active = false @command_window2.visible = false #------------------------------------------- create_command_window @gold_window = Window_Gold.new(0, 360) @status_window = Window_MenuStatus.new(160, 0) end #-------------------------------------------------------------------------- # ● 结束处理 #-------------------------------------------------------------------------- def terminate super dispose_menu_background @command_window.dispose #------------------------------------------- @command_window2.dispose #------------------------------------------- @gold_window.dispose @status_window.dispose end #-------------------------------------------------------------------------- # ● 更新画面 #-------------------------------------------------------------------------- def update super update_menu_background @command_window.update #------------------------------------------- @command_window2.update #------------------------------------------- @gold_window.update @status_window.update if @command_window.active update_command_selection #------------------------------------------- elsif @command_window2.active update_command_selection2 #------------------------------------------- elsif @status_window.active update_actor_selection end end #-------------------------------------------------------------------------- # ● 生成命令窗口 #-------------------------------------------------------------------------- def create_command_window s1 = Vocab::item s2 = Vocab::skill s3 = Vocab::equip s4 = Vocab::status s5 = Vocab::save #------------------------------------------- s6 = "打造" #------------------------------------------- s7 = Vocab::game_end @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7]) @command_window.index = @menu_index if $game_party.members.size == 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 #------------------------------------------- def create_command_window2 @command_window2 = Window_Command.new(160,["武器","防具","饰品"]) 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,2,3 # 技能、装备、状态 start_actor_selection when 4 # 存档 $scene = Scene_File.new(true, false, false) when 5 # 打造 @command_window.active = false @command_window2.active = true @command_window2.visible = true when 6 # 结束游戏 $scene = Scene_End.new end end end #------------------------------------------- def update_command_selection2 if Input.trigger?(Input::B) Sound.play_cancel @command_window2.active = false @command_window2.visible = false @command_window.active = true elsif Input.trigger?(Input::C) Sound.play_decision case @command_window2.index when 0 # $scene = 调用武器打造的代码行 when 1 # $scene = 调用防具打造的代码行 when 2 # $scene = 调用饰品打造的代码行 end end end #------------------------------------------- #-------------------------------------------------------------------------- # ● 角色选择开始 #-------------------------------------------------------------------------- def start_actor_selection @command_window.active = false @status_window.active = true if $game_party.last_actor_index < @status_window.item_max @status_window.index = $game_party.last_actor_index else @status_window.index = 0 end end #-------------------------------------------------------------------------- # ● 角色选择结束 #-------------------------------------------------------------------------- def end_actor_selection @command_window.active = true @status_window.active = false @status_window.index = -1 end #-------------------------------------------------------------------------- # ● 角色选择更新 #-------------------------------------------------------------------------- def update_actor_selection if Input.trigger?(Input::B) Sound.play_cancel end_actor_selection elsif Input.trigger?(Input::C) $game_party.last_actor_index = @status_window.index Sound.play_decision case @command_window.index when 1 # 技能 $scene = Scene_Skill.new(@status_window.index) when 2 # 装备 $scene = Scene_Equip.new(@status_window.index) when 3 # 状态 $scene = Scene_Status.new(@status_window.index) end end endend
#============================================================================== # ■ Scene_Menu #------------------------------------------------------------------------------ # 处理菜单画面的类。 #============================================================================== class Scene_Menu < Scene_Base #-------------------------------------------------------------------------- # ● 初始化对像 # menu_index : 命令窗口光标初始位置 #-------------------------------------------------------------------------- def initialize(menu_index = 0) @menu_index = menu_index end #-------------------------------------------------------------------------- # ● 开始处理 #-------------------------------------------------------------------------- def start super create_menu_background #------------------------------------------- create_command_window2 @command_window2.x = 160 @command_window2.y = 150 @command_window2.z = 101 @command_window2.active = false @command_window2.visible = false #------------------------------------------- create_command_window @gold_window = Window_Gold.new(0, 360) @status_window = Window_MenuStatus.new(160, 0) end #-------------------------------------------------------------------------- # ● 结束处理 #-------------------------------------------------------------------------- def terminate super dispose_menu_background @command_window.dispose #------------------------------------------- @command_window2.dispose #------------------------------------------- @gold_window.dispose @status_window.dispose end #-------------------------------------------------------------------------- # ● 更新画面 #-------------------------------------------------------------------------- def update super update_menu_background @command_window.update #------------------------------------------- @command_window2.update #------------------------------------------- @gold_window.update @status_window.update if @command_window.active update_command_selection #------------------------------------------- elsif @command_window2.active update_command_selection2 #------------------------------------------- elsif @status_window.active update_actor_selection end end #-------------------------------------------------------------------------- # ● 生成命令窗口 #-------------------------------------------------------------------------- def create_command_window s1 = Vocab::item s2 = Vocab::skill s3 = Vocab::equip s4 = Vocab::status s5 = Vocab::save #------------------------------------------- s6 = "打造" #------------------------------------------- s7 = Vocab::game_end @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7]) @command_window.index = @menu_index if $game_party.members.size == 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 #------------------------------------------- def create_command_window2 @command_window2 = Window_Command.new(160,["武器","防具","饰品"]) 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,2,3 # 技能、装备、状态 start_actor_selection when 4 # 存档 $scene = Scene_File.new(true, false, false) when 5 # 打造 @command_window.active = false @command_window2.active = true @command_window2.visible = true when 6 # 结束游戏 $scene = Scene_End.new end end end #------------------------------------------- def update_command_selection2 if Input.trigger?(Input::B) Sound.play_cancel @command_window2.active = false @command_window2.visible = false @command_window.active = true elsif Input.trigger?(Input::C) Sound.play_decision case @command_window2.index when 0 # $scene = 调用武器打造的代码行 when 1 # $scene = 调用防具打造的代码行 when 2 # $scene = 调用饰品打造的代码行 end end end #------------------------------------------- #-------------------------------------------------------------------------- # ● 角色选择开始 #-------------------------------------------------------------------------- def start_actor_selection @command_window.active = false @status_window.active = true if $game_party.last_actor_index < @status_window.item_max @status_window.index = $game_party.last_actor_index else @status_window.index = 0 end end #-------------------------------------------------------------------------- # ● 角色选择结束 #-------------------------------------------------------------------------- def end_actor_selection @command_window.active = true @status_window.active = false @status_window.index = -1 end #-------------------------------------------------------------------------- # ● 角色选择更新 #-------------------------------------------------------------------------- def update_actor_selection if Input.trigger?(Input::B) Sound.play_cancel end_actor_selection elsif Input.trigger?(Input::C) $game_party.last_actor_index = @status_window.index Sound.play_decision case @command_window.index when 1 # 技能 $scene = Scene_Skill.new(@status_window.index) when 2 # 装备 $scene = Scene_Equip.new(@status_window.index) when 3 # 状态 $scene = Scene_Status.new(@status_window.index) end end end end
查看全部评分
折叠内容标题(非必须)
折叠内容
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2025-6-8 13:47
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.