赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 495 |
最后登录 | 2014-2-15 |
在线时间 | 9 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 9 小时
- 注册时间
- 2014-2-6
- 帖子
- 11
|
2楼
楼主 |
发表于 2014-2-9 02:45:13
|
只看该作者
我的想法是在Scene_MenuBase里建一个@last_scene变量,
当进入skill等菜单时,@last_scene被赋值为3,当进入选项菜单时被赋值为1。这样只要判断这个变量是否为3可知玩家是从地图场景进入下图的菜单界面的,还是通过skill等菜单退回到如下的菜单界面的。
由此来决定是开启左菜单还是右菜单。可是我失败了。我发现如果把这个变量变为全局变量是可行的,这是为什么?或者大家还有没有其他好方法?
- class Scene_Menu < Scene_MenuBase
- #----------------------
- 省
- #---------------------
- #----------------------------------------------------------------------------
- # * 创建菜单选项
- #----------------------------------------------------------------------------
- def create_menu_command
- @menu_command = Window_MenuCommand.new
- @menu_command.set_handler(:cancel, method(:return_scene))
- @menu_command.set_handler(:item, method(:item_ok))
- @menu_command.set_handler(:skill, method(:person_ok))
- @menu_command.set_handler(:equip, method(:person_ok))
- @menu_command.set_handler(:status, method(:person_ok))
- @menu_command.set_handler(:formation, method(:person_ok))
- @menu_command.set_handler(:save, method(:save_ok))
- @menu_command.set_handler(:load, method(:load_ok))
- @menu_command.set_handler(:game_end, method(:end_ok))
- @menu_command.active = (@last_scene != 3 ? true : false)
- @menu_command.select(@last_index)
- @menu_command.opacity = 0
- end
- #-----------------------------------------------------------------------------
- # *创建人物状态菜单
- #-----------------------------------------------------------------------------
- def create_menustatus_command
- @menustatus_command = Window_NewMenuStatus.new
- @menustatus_command.active = (@last_scene == 3 ? true : false)
- @menustatus_command.set_handler(:cancel, method(:back_command))
- @menustatus_command.set_handler(:ok, method(:status_ok))
- @menustatus_command.select(@last_index2)
- @menustatus_command.opacity = 0
- end
复制代码- class Scene_Skill < Scene_ItemBase
- #--------------------------------------------------------------------------
- # ● 开始处理
- #--------------------------------------------------------------------------
- def start
- super
- create_help_window
- create_command_window
- create_status_window
- create_item_window
- @last_scene = 3
- end
复制代码- class Scene_MenuBase < Scene_Base
- #-----------------------------------------------------------------------------
- # *初始化
- #-----------------------------------------------------------------------------
- def initialize
- super
- @last_index = 0 if @last_index == nil
- @last_index2 = 0 if @last_index2 == nil
- @last_scene = 0 if @last_scene == nil
- end
- end
复制代码 |
|