Project1

标题: 请教单独做一个系统菜单,只有读存档,结束游戏,物品... [打印本页]

作者: zl245479821    时间: 2013-6-18 21:13
标题: 请教单独做一个系统菜单,只有读存档,结束游戏,物品...
本帖最后由 zl245479821 于 2013-6-20 21:09 编辑

就是想像系统菜单一样,但是只有物品,读存档,结束游戏作用,就像小红帽里那个。
作者: gaofei677    时间: 2013-6-19 13:50
RUBY 代码复制
  1. class Scene_Menu < Scene_Base
  2.   def create_command_window
  3.     s1 = Vocab::item
  4.     s2 = Vocab::save
  5.     s3 = Vocab::game_end
  6.     @command_window = Window_Command.new(160, [s1, s2, s3])
  7.     @command_window.index = 0
  8.     if $game_party.members.size == 0          # 如果無人在隊
  9.       @command_window.draw_item(0, false)     # 禁用[用品]
  10.       @command_window.draw_item(1, false)     # 禁用[技能]
  11.       @command_window.draw_item(2, false)     # 禁用[整備]
  12.       @command_window.draw_item(3, false)     # 禁用[狀態]
  13.     end
  14.     if $game_system.save_disabled             # 如果禁止存檔
  15.       @command_window.draw_item(4, false)     # 禁用[存檔]
  16.     end
  17.   end
  18.  
  19.   def update_command_selection
  20.     if Input.trigger?(Input::B)
  21.       Sound.play_cancel
  22.       $scene = Scene_Map.new
  23.     elsif Input.trigger?(Input::C)
  24.       if $game_party.members.size == 0 and @command_window.index < 4
  25.         Sound.play_buzzer
  26.         return
  27.       elsif $game_system.save_disabled and @command_window.index == 4
  28.         Sound.play_buzzer
  29.         return
  30.       end
  31.       Sound.play_decision
  32.       case @command_window.index
  33.       when 0      # 用品
  34.         $scene = Scene_Item.new
  35.       when 1      # 存檔
  36.         $scene = Scene_File.new(true, false, false)
  37.       when 2      # 結束遊戲
  38.         $scene = Scene_End.new
  39.       end
  40.     end
  41.   end
  42. end


不太完美,不过将就用吧
作者: gaofei677    时间: 2013-6-19 13:58
插入MIAN之前就行
作者: gaofei677    时间: 2013-6-19 14:14
我在新建工程试了试,没有发现任何问题,楼主最好截图来看看
作者: zl245479821    时间: 2013-6-19 14:20
gaofei677 发表于 2013-6-19 14:14
我在新建工程试了试,没有发现任何问题,楼主最好截图来看看

即使这个样。。

未命名.jpg (7.28 KB, 下载次数: 15)

未命名.jpg

作者: gaofei677    时间: 2013-6-19 14:22
zl245479821 发表于 2013-6-19 14:20
即使这个样。。

以下是我的工程效果,楼主可以参考,实在不行,楼主把工程传上来吧





作者: zl245479821    时间: 2013-6-19 14:31
gaofei677 发表于 2013-6-19 14:22
以下是我的工程效果,楼主可以参考,实在不行,楼主把工程传上来吧

大大..对不起阿,我复制的时候不小心少了2个end,所以就...对不起阿,谢谢了。哎,能不能把那个人物和金钱都去掉,然后把那三个的框框放在中央啊?谢谢。
作者: gaofei677    时间: 2013-6-19 14:50
本帖最后由 gaofei677 于 2013-6-19 15:01 编辑
zl245479821 发表于 2013-6-19 14:31
大大..对不起阿,我复制的时候不小心少了2个end,所以就...对不起阿,谢谢了。哎,能不能把那个人物和金 ...


用此脚本替换2楼的脚本,同样插入MIAN之前



RUBY 代码复制
  1. class Scene_Menu < Scene_Base
  2.   def start
  3.     super
  4.     create_menu_background
  5.     create_command_window
  6.   end
  7.  
  8.   def terminate
  9.     super
  10.     dispose_menu_background
  11.     @command_window.dispose
  12.   end
  13.  
  14.   def update
  15.     super
  16.     update_menu_background
  17.     @command_window.update
  18.     if @command_window.active
  19.       update_command_selection
  20.     elsif @status_window.active
  21.       update_actor_selection
  22.     end
  23.   end
  24.  
  25.   def create_command_window
  26.     s1 = Vocab::item
  27.     s2 = Vocab::save
  28.     s3 = Vocab::game_end
  29.     @command_window = Window_Command.new(160, [s1, s2, s3])
  30.     @command_window.x = (544 - @command_window.width) / 2
  31.     @command_window.y = (416 - @command_window.height) / 2
  32.     @command_window.index = 0
  33.     if $game_party.members.size == 0          # 如果無人在隊
  34.       @command_window.draw_item(0, false)     # 禁用[用品]
  35.       @command_window.draw_item(1, false)     # 禁用[技能]
  36.       @command_window.draw_item(2, false)     # 禁用[整備]
  37.       @command_window.draw_item(3, false)     # 禁用[狀態]
  38.     end
  39.     if $game_system.save_disabled             # 如果禁止存檔
  40.       @command_window.draw_item(4, false)     # 禁用[存檔]
  41.     end
  42.   end
  43.  
  44.   def update_command_selection
  45.     if Input.trigger?(Input::B)
  46.       Sound.play_cancel
  47.       $scene = Scene_Map.new
  48.     elsif Input.trigger?(Input::C)
  49.       if $game_party.members.size == 0 and @command_window.index < 4
  50.         Sound.play_buzzer
  51.         return
  52.       elsif $game_system.save_disabled and @command_window.index == 4
  53.         Sound.play_buzzer
  54.         return
  55.       end
  56.       Sound.play_decision
  57.       case @command_window.index
  58.       when 0      # 用品
  59.         $scene = Scene_Item.new
  60.       when 1      # 存檔
  61.         $scene = Scene_File.new(true, false, false)
  62.       when 2      # 結束遊戲
  63.         $scene = Scene_End.new
  64.       end
  65.     end
  66.   end
  67. end

作者: gaofei677    时间: 2013-6-19 16:52
问题解决后请不要自行把帖子类型改为  已经解决




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