Project1

标题: 如何在菜单栏加入 读取 这一选项? [打印本页]

作者: a900316b    时间: 2013-10-22 23:25
标题: 如何在菜单栏加入 读取 这一选项?
Window_MenuCommand下
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 生成指令列表
  3.   #--------------------------------------------------------------------------
  4.   def make_command_list
  5.     add_main_commands
  6.     add_original_commands
  7.     add_save_command
  8.     add_game_end_command
  9.   end


经过在下的研究之后,这个Window_MenuCommand貌似就是修改菜单栏的项目了。
但是要怎样才能加入读取功能呢? 请大神赐教
作者: tseyik    时间: 2013-10-22 23:37
本帖最后由 76213585 于 2013-10-22 15:48 编辑
  1. $rsi ||= {}
  2. $rsi["ロードメニュー"] = true

  3. class Window_MenuCommand < Window_Command
  4.   #--------------------------------------------------------------------------
  5.   # ● コマンドリストの作成
  6.   #--------------------------------------------------------------------------
  7.   alias _make_command_list_with_load_command make_command_list
  8.   def make_command_list
  9.     _make_command_list_with_load_command
  10.     add_load_command
  11.   end
  12.   #--------------------------------------------------------------------------
  13.   # ● インデックスを指定したコマンドの追加
  14.   #--------------------------------------------------------------------------
  15.   def add_command_with_index(name, symbol, index, enabled = true, ext = nil)
  16.     @list[index, 0] = {:name=>name, :symbol=>symbol, :enabled=>enabled, :ext=>ext}
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● ロードコマンドの追加
  20.   #--------------------------------------------------------------------------
  21.   def add_load_command
  22.     @list.each_with_index{|data, index|
  23.       if data[:symbol] == :save
  24.         add_command_with_index("讀取", :load, index.next, DataManager.save_file_exists?)
  25.         return
  26.       end
  27.     }
  28.     add_command("讀取", :load, DataManager.save_file_exists?)
  29.   end
  30. end

  31. class Scene_Menu < Scene_MenuBase
  32.   #--------------------------------------------------------------------------
  33.   # ● コマンドウィンドウの作成
  34.   #--------------------------------------------------------------------------
  35.   alias _create_load_command create_command_window
  36.   def create_command_window
  37.     _create_load_command
  38.     @command_window.set_handler(:load, method(:command_load))
  39.   end
  40.   #--------------------------------------------------------------------------
  41.   # ● コマンド[ロード]
  42.   #--------------------------------------------------------------------------
  43.   def command_load
  44.     SceneManager.call(Scene_Load)
  45.   end
  46. end
复制代码

作者: a900316b    时间: 2013-10-23 07:13
tseyik 发表于 2013-10-22 23:37

..插在MAIN前还是?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1