设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2313|回复: 7
打印 上一主题 下一主题

[已经解决] 修改菜单。

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
18 小时
注册时间
2010-8-14
帖子
155
跳转到指定楼层
1
发表于 2010-8-18 21:41:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
我想把菜单栏的和战斗有关的去掉
比如装备和特技。
我是新手..

Lv1.梦旅人

梦石
0
星屑
50
在线时间
127 小时
注册时间
2009-12-19
帖子
417
2
发表于 2010-8-18 21:46:33 | 只看该作者
  1. #==============================================================================
  2. # ■ Scene_Menu
  3. #------------------------------------------------------------------------------
  4. #  处理菜单画面的类。
  5. #==============================================================================

  6. class Scene_Menu
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #     menu_index : 命令光标的初期位置
  10.   #--------------------------------------------------------------------------
  11.   def initialize(menu_index = 0)
  12.     @menu_index = menu_index
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 主处理
  16.   #--------------------------------------------------------------------------
  17.   def main
  18.     # 生成命令窗口
  19.     s1 = $data_system.words.item   
  20.     s2 = "状态"
  21.     s3 = "存档"
  22.     s4 = "结束游戏"
  23.     @command_window = Window_Command.new(160, [s1, s2, s3, s4])
  24.     @command_window.index = @menu_index
  25.     # 同伴人数为 0 的情况下
  26.     if $game_party.actors.size == 0
  27.       # 物品、特技、装备、状态无效化
  28.       @command_window.disable_item(0)
  29.       @command_window.disable_item(1)
  30.       @command_window.disable_item(2)
  31.       @command_window.disable_item(3)
  32.     end
  33.     # 禁止存档的情况下
  34.     if $game_system.save_disabled
  35.       # 存档无效
  36.       @command_window.disable_item(4)
  37.     end
  38.     # 生成游戏时间窗口
  39.     @playtime_window = Window_PlayTime.new
  40.     @playtime_window.x = 0
  41.     @playtime_window.y = 224
  42.     # 生成步数窗口
  43.     @steps_window = Window_Steps.new
  44.     @steps_window.x = 0
  45.     @steps_window.y = 320
  46.     # 生成金钱窗口
  47.     @gold_window = Window_Gold.new
  48.     @gold_window.x = 0
  49.     @gold_window.y = 416
  50.     # 生成状态窗口
  51.     @status_window = Window_MenuStatus.new
  52.     @status_window.x = 160
  53.     @status_window.y = 0
  54.     # 执行过渡
  55.     Graphics.transition
  56.     # 主循环
  57.     loop do
  58.       # 刷新游戏画面
  59.       Graphics.update
  60.       # 刷新输入信息
  61.       Input.update
  62.       # 刷新画面
  63.       update
  64.       # 如果切换画面就中断循环
  65.       if $scene != self
  66.         break
  67.       end
  68.     end
  69.     # 准备过渡
  70.     Graphics.freeze
  71.     # 释放窗口
  72.     @command_window.dispose
  73.     @playtime_window.dispose
  74.     @steps_window.dispose
  75.     @gold_window.dispose
  76.     @status_window.dispose
  77.   end
  78.   #--------------------------------------------------------------------------
  79.   # ● 刷新画面
  80.   #--------------------------------------------------------------------------
  81.   def update
  82.     # 刷新窗口
  83.     @command_window.update
  84.     @playtime_window.update
  85.     @steps_window.update
  86.     @gold_window.update
  87.     @status_window.update
  88.     # 命令窗口被激活的情况下: 调用 update_command
  89.     if @command_window.active
  90.       update_command
  91.       return
  92.     end
  93.     # 状态窗口被激活的情况下: 调用 update_status
  94.     if @status_window.active
  95.       update_status
  96.       return
  97.     end
  98.   end
  99.   #--------------------------------------------------------------------------
  100.   # ● 刷新画面 (命令窗口被激活的情况下)
  101.   #--------------------------------------------------------------------------
  102.   def update_command
  103.     # 按下 B 键的情况下
  104.     if Input.trigger?(Input::B)
  105.       # 演奏取消 SE
  106.       $game_system.se_play($data_system.cancel_se)
  107.       # 切换的地图画面
  108.       $scene = Scene_Map.new
  109.       return
  110.     end
  111.     # 按下 C 键的情况下
  112.     if Input.trigger?(Input::C)
  113.       # 同伴人数为 0、存档、游戏结束以外的场合
  114.       if $game_party.actors.size == 0 and @command_window.index < 4
  115.         # 演奏冻结 SE
  116.         $game_system.se_play($data_system.buzzer_se)
  117.         return
  118.       end
  119.       # 命令窗口的光标位置分支
  120.       case @command_window.index
  121.       when 0  # 物品
  122.         # 演奏确定 SE
  123.         $game_system.se_play($data_system.decision_se)
  124.         # 切换到物品画面
  125.         $scene = Scene_Item.new
  126.       when 1  # 特技
  127.         # 演奏确定 SE
  128.         $game_system.se_play($data_system.decision_se)
  129.         # 激活状态窗口
  130.         @command_window.active = false
  131.         @status_window.active = true
  132.         @status_window.index = 0
  133.       when 2  # 装备
  134.         # 演奏确定 SE
  135.         $game_system.se_play($data_system.decision_se)
  136.         # 激活状态窗口
  137.         @command_window.active = false
  138.         @status_window.active = true
  139.         @status_window.index = 0
  140.       when 3  # 状态
  141.         # 演奏确定 SE
  142.         $game_system.se_play($data_system.decision_se)
  143.         # 激活状态窗口
  144.         @command_window.active = false
  145.         @status_window.active = true
  146.         @status_window.index = 0
  147.       when 4  # 存档
  148.         # 禁止存档的情况下
  149.         if $game_system.save_disabled
  150.           # 演奏冻结 SE
  151.           $game_system.se_play($data_system.buzzer_se)
  152.           return
  153.         end
  154.         # 演奏确定 SE
  155.         $game_system.se_play($data_system.decision_se)
  156.         # 切换到存档画面
  157.         $scene = Scene_Save.new
  158.       when 5  # 游戏结束
  159.         # 演奏确定 SE
  160.         $game_system.se_play($data_system.decision_se)
  161.         # 切换到游戏结束画面
  162.         $scene = Scene_End.new
  163.       end
  164.       return
  165.     end
  166.   end
  167.   #--------------------------------------------------------------------------
  168.   # ● 刷新画面 (状态窗口被激活的情况下)
  169.   #--------------------------------------------------------------------------
  170.   def update_status
  171.     # 按下 B 键的情况下
  172.     if Input.trigger?(Input::B)
  173.       # 演奏取消 SE
  174.       $game_system.se_play($data_system.cancel_se)
  175.       # 激活命令窗口
  176.       @command_window.active = true
  177.       @status_window.active = false
  178.       @status_window.index = -1
  179.       return
  180.     end
  181.     # 按下 C 键的情况下
  182.     if Input.trigger?(Input::C)
  183.       # 命令窗口的光标位置分支
  184.       case @command_window.index
  185.       when 1  # 特技
  186.         # 本角色的行动限制在 2 以上的情况下
  187.         if $game_party.actors[@status_window.index].restriction >= 2
  188.           # 演奏冻结 SE
  189.           $game_system.se_play($data_system.buzzer_se)
  190.           return
  191.         end
  192.         # 演奏确定 SE
  193.         $game_system.se_play($data_system.decision_se)
  194.         # 切换到特技画面
  195.         $scene = Scene_Skill.new(@status_window.index)
  196.       when 2  # 装备
  197.         # 演奏确定 SE
  198.         $game_system.se_play($data_system.decision_se)
  199.         # 切换的装备画面
  200.         $scene = Scene_Equip.new(@status_window.index)
  201.       when 3  # 状态
  202.         # 演奏确定 SE
  203.         $game_system.se_play($data_system.decision_se)
  204.         # 切换到状态画面
  205.         $scene = Scene_Status.new(@status_window.index)
  206.       end
  207.       return
  208.     end
  209.   end
  210. end
复制代码

点评

谢谢~!  发表于 2010-8-18 21:56
覆盖Scene_Menu  发表于 2010-8-18 21:53
打错了  发表于 2010-8-18 21:52
别乱教,怎么能覆盖Game_Temp  发表于 2010-8-18 21:49
把这段覆盖Game_Temp  发表于 2010-8-18 21:46

评分

参与人数 1星屑 +200 收起 理由
六祈 + 200 认可答案

查看全部评分

无视掉。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
127 小时
注册时间
2009-12-19
帖子
417
3
发表于 2010-8-18 21:51:07 | 只看该作者
  1. #==============================================================================
  2. # ■ Scene_Menu
  3. #------------------------------------------------------------------------------
  4. #  处理菜单画面的类。
  5. #==============================================================================

  6. class Scene_Menu
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #     menu_index : 命令光标的初期位置
  10.   #--------------------------------------------------------------------------
  11.   def initialize(menu_index = 0)
  12.     @menu_index = menu_index
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 主处理
  16.   #--------------------------------------------------------------------------
  17.   def main
  18.     # 生成命令窗口
  19.     s1 = $data_system.words.item   
  20.     s2 = "状态"
  21.     s3 = "存档"
  22.     s4 = "结束游戏"
  23.     @command_window = Window_Command.new(160, [s1, s2, s3, s4])
  24.     @command_window.index = @menu_index
  25.     # 同伴人数为 0 的情况下
  26.     if $game_party.actors.size == 0
  27.       # 物品、特技、装备、状态无效化
  28.       @command_window.disable_item(0)
  29.       @command_window.disable_item(1)
  30.       @command_window.disable_item(2)
  31.       @command_window.disable_item(3)
  32.     end
  33.     # 禁止存档的情况下
  34.     if $game_system.save_disabled
  35.       # 存档无效
  36.       @command_window.disable_item(4)
  37.     end
  38.     # 生成游戏时间窗口
  39.     @playtime_window = Window_PlayTime.new
  40.     @playtime_window.x = 0
  41.     @playtime_window.y = 224
  42.     # 生成步数窗口
  43.     @steps_window = Window_Steps.new
  44.     @steps_window.x = 0
  45.     @steps_window.y = 320
  46.     # 生成金钱窗口
  47.     @gold_window = Window_Gold.new
  48.     @gold_window.x = 0
  49.     @gold_window.y = 416
  50.     # 生成状态窗口
  51.     @status_window = Window_MenuStatus.new
  52.     @status_window.x = 160
  53.     @status_window.y = 0
  54.     # 执行过渡
  55.     Graphics.transition
  56.     # 主循环
  57.     loop do
  58.       # 刷新游戏画面
  59.       Graphics.update
  60.       # 刷新输入信息
  61.       Input.update
  62.       # 刷新画面
  63.       update
  64.       # 如果切换画面就中断循环
  65.       if $scene != self
  66.         break
  67.       end
  68.     end
  69.     # 准备过渡
  70.     Graphics.freeze
  71.     # 释放窗口
  72.     @command_window.dispose
  73.     @playtime_window.dispose
  74.     @steps_window.dispose
  75.     @gold_window.dispose
  76.     @status_window.dispose
  77.   end
  78.   #--------------------------------------------------------------------------
  79.   # ● 刷新画面
  80.   #--------------------------------------------------------------------------
  81.   def update
  82.     # 刷新窗口
  83.     @command_window.update
  84.     @playtime_window.update
  85.     @steps_window.update
  86.     @gold_window.update
  87.     @status_window.update
  88.     # 命令窗口被激活的情况下: 调用 update_command
  89.     if @command_window.active
  90.       update_command
  91.       return
  92.     end
  93.     # 状态窗口被激活的情况下: 调用 update_status
  94.     if @status_window.active
  95.       update_status
  96.       return
  97.     end
  98.   end
  99.   #--------------------------------------------------------------------------
  100.   # ● 刷新画面 (命令窗口被激活的情况下)
  101.   #--------------------------------------------------------------------------
  102.   def update_command
  103.     # 按下 B 键的情况下
  104.     if Input.trigger?(Input::B)
  105.       # 演奏取消 SE
  106.       $game_system.se_play($data_system.cancel_se)
  107.       # 切换的地图画面
  108.       $scene = Scene_Map.new
  109.       return
  110.     end
  111.     # 按下 C 键的情况下
  112.     if Input.trigger?(Input::C)
  113.       # 同伴人数为 0、存档、游戏结束以外的场合
  114.       if $game_party.actors.size == 0 and @command_window.index < 4
  115.         # 演奏冻结 SE
  116.         $game_system.se_play($data_system.buzzer_se)
  117.         return
  118.       end
  119.       # 命令窗口的光标位置分支
  120.       case @command_window.index
  121.       when 0  # 物品
  122.         # 演奏确定 SE
  123.         $game_system.se_play($data_system.decision_se)
  124.         # 切换到物品画面
  125.         $scene = Scene_Item.new
  126.       when 1  # 状态
  127.         # 演奏确定 SE
  128.         $game_system.se_play($data_system.decision_se)
  129.         # 激活状态窗口
  130.         @command_window.active = false
  131.         @status_window.active = true
  132.         @status_window.index = 0
  133.       when 2  # 存档
  134.         # 禁止存档的情况下
  135.         if $game_system.save_disabled
  136.           # 演奏冻结 SE
  137.           $game_system.se_play($data_system.buzzer_se)
  138.           return
  139.         end
  140.         # 演奏确定 SE
  141.         $game_system.se_play($data_system.decision_se)
  142.         # 切换到存档画面
  143.         $scene = Scene_Save.new
  144.       when 3  # 游戏结束
  145.         # 演奏确定 SE
  146.         $game_system.se_play($data_system.decision_se)
  147.         # 切换到游戏结束画面
  148.         $scene = Scene_End.new
  149.       end
  150.       return
  151.     end
  152.   end
  153.   #--------------------------------------------------------------------------
  154.   # ● 刷新画面 (状态窗口被激活的情况下)
  155.   #--------------------------------------------------------------------------
  156.   def update_status
  157.     # 按下 B 键的情况下
  158.     if Input.trigger?(Input::B)
  159.       # 演奏取消 SE
  160.       $game_system.se_play($data_system.cancel_se)
  161.       # 激活命令窗口
  162.       @command_window.active = true
  163.       @status_window.active = false
  164.       @status_window.index = -1
  165.       return
  166.     end
  167.     # 按下 C 键的情况下
  168.     if Input.trigger?(Input::C)
  169.       # 命令窗口的光标位置分支
  170.       case @command_window.index
  171.       when 1  # 状态
  172.         # 演奏确定 SE
  173.         $game_system.se_play($data_system.decision_se)
  174.         # 切换到状态画面
  175.         $scene = Scene_Status.new(@status_window.index)
  176.       end
  177.       return
  178.     end
  179.   end
  180. end
复制代码

点评

谢谢,那怎么取消状态?  发表于 2010-8-18 22:06
改了一下,插在main上,覆盖Scene_Menu也行  发表于 2010-8-18 21:52
无视掉。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
29 小时
注册时间
2010-7-5
帖子
483
4
发表于 2010-8-18 22:14:34 | 只看该作者
这个。。。
把这段改成这样
  1. # 生成命令窗口
  2.     s1 = $data_system.words.item   
  3.     s2 = "存档"
  4.     s3 = "结束"
  5.     @command_window = Window_Command.new(160, [s1, s2, s3])
  6.     @command_window.index = @menu_index
复制代码
这段改掉改成这样
  1. # 命令窗口的光标位置分支

  2.       case @command_window.index

  3.       when 0  # 物品

  4.         # 演奏确定 SE

  5.         $game_system.se_play($data_system.decision_se)

  6.         # 切换到物品画面

  7.         $scene = Scene_Item.new

  8.             when 1  # 存档

  9.         # 禁止存档的情况下

  10.         if $game_system.save_disabled

  11.           # 演奏冻结 SE

  12.           $game_system.se_play($data_system.buzzer_se)

  13.           return

  14.         end

  15.         # 演奏确定 SE

  16.         $game_system.se_play($data_system.decision_se)

  17.         # 切换到存档画面

  18.         $scene = Scene_Save.new

  19.       when 2  # 游戏结束

  20.         # 演奏确定 SE

  21.         $game_system.se_play($data_system.decision_se)

  22.         # 切换到游戏结束画面

  23.         $scene = Scene_End.new

  24.       end

复制代码
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42349
在线时间
7599 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

5
发表于 2010-8-19 10:53:20 | 只看该作者
看我的超级菜单
  1. # ■ Scene_Menu
  2. #------------------------------------------------------------------------------
  3. #  处理菜单画面的类。
  4. #   AVG专用~~岚整理
  5. #==============================================================================
  6. module XRXS_MP7_Module
  7. def create_spriteset
  8.    @spriteset = Spriteset_Map.new
  9. end
  10. def dispose_spriteset
  11.    @spriteset.dispose
  12. end
  13. end
  14. class Scene_Menu

  15. #--------------------------------------------------------------------------
  16. # ● 初始化对像
  17. #     menu_index : 命令光标的初期位置
  18. #--------------------------------------------------------------------------
  19. def initialize(menu_index = 0)
  20.    @menu_index = menu_index
  21. end
  22. #--------------------------------------------------------------------------
  23. # ● 主处理
  24. #--------------------------------------------------------------------------
  25. def main
  26.    # 生成命令窗口
  27.    s0 = "物品"
  28.    s1 = "存档"
  29.    s2 = "取档"
  30.    s3 = "返回标题"
  31.    s4 = "结束游戏"
  32.    @command_window = Window_Command.new(160, [s0 ,s1, s2, s3, s4])
  33.    @command_window.index = @menu_index
  34.    @command_window.x = 100
  35.    @command_window.y = 200
  36.    
  37.    @command_window.opacity = 100
  38.    @command_window.update
  39.    @help_window = Window_Help.new
  40.    @help_window.x = 260
  41.    @help_window.y = 333
  42.    @help_window.width = 270
  43.    @help_window.height = 60

  44.    # 禁止存档的情况下
  45.    if $game_system.save_disabled
  46.      # 存档无效
  47.      @command_window.disable_item(1)
  48.    end
  49.    
  50.    @status_window = Window_MenuStatus.new
  51.     @status_window.x = 100
  52.     @status_window.y = 80
  53.     @status_window.opacity = 100
  54.     @status_window.width = 160
  55.     @status_window.height = 120
  56.    # 执行过渡
  57.    @item_window = Window_Item.new
  58.     @item_window.x = 260
  59.     @item_window.y = 80
  60.     @item_window.width = 270
  61.     @item_window.height = 270
  62.     @item_window.opacity = 100
  63.    
  64.    
  65.         # 关联帮助窗口
  66.     @item_window.help_window = @help_window
  67.     # 生成目标窗口 (设置为不可见・不活动)
  68.    
  69.    Graphics.transition
  70.    # 主循环
  71.    loop do
  72.      # 刷新游戏画面
  73.      Graphics.update
  74.      # 刷新输入信息
  75.      Input.update
  76.      # 刷新画面
  77.      update
  78.      # 如果切换画面就中断循环
  79.      if $scene != self
  80.        break
  81.      end
  82.    end
  83.    # 准备过渡
  84.    Graphics.freeze
  85.    # 释放窗口
  86.    @command_window.dispose
  87.    @status_window.dispose
  88.    @item_window.dispose
  89.    @help_window.dispose
  90. end
  91. #--------------------------------------------------------------------------
  92. # ● 刷新画面
  93. #--------------------------------------------------------------------------
  94. def update
  95.    # 刷新窗口
  96.    @command_window.update
  97.    @item_window.update
  98.    @status_window.update
  99.    @help_window.update
  100.     # 物品窗口被激活的情况下: 调用 update_item
  101.     if @item_window.active
  102.       update_item
  103.       return
  104.     end
  105.    
  106.    # 命令窗口被激活的情况下: 调用 update_command
  107.    if @command_window.active
  108.      update_command
  109.      return
  110.    end

  111. end
  112. #--------------------------------------------------------------------------
  113. # ● 刷新画面 (命令窗口被激活的情况下)
  114. #--------------------------------------------------------------------------
  115. def update_command
  116.    # 按下 B 键的情况下
  117.    if Input.trigger?(Input::B)
  118.      # 演奏取消 SE
  119.      $game_system.se_play($data_system.cancel_se)
  120.      # 切换的地图画面
  121.      $scene = Scene_Map.new
  122.      return
  123.    end
  124.    # 按下 C 键的情况下
  125.    if Input.trigger?(Input::C)

  126.      # 命令窗口的光标位置分支
  127.      case @command_window.index
  128.      when 0
  129.                $game_system.se_play($data_system.decision_se)
  130.         # 激活状态窗口
  131.         @command_window.active = false
  132.         @item_window.active = true
  133.         @item_window.index = 0
  134.       
  135.      when 1  # 存档
  136.        if $game_system.save_disabled
  137.          # 演奏冻结 SE
  138.          $game_system.se_play($data_system.buzzer_se)
  139.          return
  140.        end
  141.        # 演奏确定 SE
  142.        $game_system.se_play($data_system.decision_se)
  143.        # 切换到存档画面
  144.        $scene = Scene_Save.new
  145.      when 2  # 取档
  146.       
  147.        # 演奏确定 SE
  148.        $game_system.se_play($data_system.decision_se)
  149.        # 切换到存档画面
  150.        $scene = Scene_Load_Temp.new
  151.      when 3  # 回标题
  152.        # 演奏确定 SE
  153.        $game_system.se_play($data_system.decision_se)
  154.        # 切换到游戏结束画面
  155.        $scene = Scene_Title.new
  156.      
  157.      when 4  # 结束游戏
  158.        # 演奏确定 SE
  159.        $game_system.se_play($data_system.decision_se)
  160.        # 切换到游戏结束画面
  161.        $scene = nil
  162.      end
  163.      return
  164.    end
  165. end
  166.   #--------------------------------------------------------------------------
  167. # ● 刷新画面 (道具)
  168. #--------------------------------------------------------------------------
  169. def update_item
  170.     # 按下 B 键的情况下
  171.     if Input.trigger?(Input::B)
  172.       # 演奏取消 SE
  173.       $game_system.se_play($data_system.cancel_se)
  174.       # 切换到菜单画面
  175.       $scene = Scene_Menu.new(0)
  176.       return
  177.     end
  178.     # 按下 C 键的情况下
  179.     if Input.trigger?(Input::C)
  180.       # 获取物品窗口当前选中的物品数据
  181.       @item = @item_window.item
  182.       # 不使用物品的情况下
  183.       unless @item.is_a?(RPG::Item)
  184.         # 演奏冻结 SE
  185.         $game_system.se_play($data_system.buzzer_se)
  186.         return
  187.       end
  188.       # 不能使用的情况下
  189.       unless $game_party.item_can_use?(@item.id)
  190.         # 演奏冻结 SE
  191.         $game_system.se_play($data_system.buzzer_se)
  192.         return
  193.       end
  194.       # 演奏确定 SE
  195.       $game_system.se_play($data_system.decision_se)
  196.       # 效果范围是我方的情况下
  197.         if @item.common_event_id > 0
  198.           # 预约调用公共事件
  199.           $game_temp.common_event_id = @item.common_event_id
  200.           # 演奏物品使用时的 SE
  201.           $game_system.se_play(@item.menu_se)
  202.           # 消耗品的情况下
  203.           if @item.consumable
  204.             # 使用的物品数减 1
  205.             $game_party.lose_item(@item.id, 1)
  206.             # 再描绘物品窗口的项目
  207.             @item_window.draw_item(@item_window.index)
  208.           end
  209.           # 切换到地图画面
  210.           $scene = Scene_Map.new
  211.           return
  212.       end
  213.       return
  214.     end
  215.   end


  216.   
  217.   
  218. include XRXS_MP7_Module
  219. alias xrxs_mp7_main main
  220. def main
  221.    create_spriteset
  222.    xrxs_mp7_main
  223.    dispose_spriteset
  224. end
  225. end

复制代码
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
127 小时
注册时间
2009-12-19
帖子
417
6
发表于 2010-8-19 13:39:54 | 只看该作者
  1. #==============================================================================
  2. # ■ Scene_Menu
  3. #------------------------------------------------------------------------------
  4. #  处理菜单画面的类。
  5. #==============================================================================

  6. class Scene_Menu
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #     menu_index : 命令光标的初期位置
  10.   #--------------------------------------------------------------------------
  11.   def initialize(menu_index = 0)
  12.     @menu_index = menu_index
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 主处理
  16.   #--------------------------------------------------------------------------
  17.   def main
  18.     # 生成命令窗口
  19.     s1 = $data_system.words.item   
  20.     s2 = "存档"
  21.     s3 = "结束游戏"
  22.     @command_window = Window_Command.new(160, [s1, s2, s3])
  23.     # 同伴人数为 0 的情况下
  24.     if $game_party.actors.size == 0
  25.       # 物品、特技、装备、状态无效化
  26.       @command_window.disable_item(0)
  27.       @command_window.disable_item(1)
  28.       @command_window.disable_item(2)
  29.       @command_window.disable_item(3)
  30.     end
  31.     # 禁止存档的情况下
  32.     if $game_system.save_disabled
  33.       # 存档无效
  34.       @command_window.disable_item(4)
  35.     end
  36.     # 生成游戏时间窗口
  37.     @playtime_window = Window_PlayTime.new
  38.     @playtime_window.x = 0
  39.     @playtime_window.y = 224
  40.     # 生成步数窗口
  41.     @steps_window = Window_Steps.new
  42.     @steps_window.x = 0
  43.     @steps_window.y = 320
  44.     # 生成金钱窗口
  45.     @gold_window = Window_Gold.new
  46.     @gold_window.x = 0
  47.     @gold_window.y = 416
  48.     # 生成状态窗口
  49.     @status_window = Window_MenuStatus.new
  50.     @status_window.x = 160
  51.     @status_window.y = 0
  52.     # 执行过渡
  53.     Graphics.transition
  54.     # 主循环
  55.     loop do
  56.       # 刷新游戏画面
  57.       Graphics.update
  58.       # 刷新输入信息
  59.       Input.update
  60.       # 刷新画面
  61.       update
  62.       # 如果切换画面就中断循环
  63.       if $scene != self
  64.         break
  65.       end
  66.     end
  67.     # 准备过渡
  68.     Graphics.freeze
  69.     # 释放窗口
  70.     @command_window.dispose
  71.     @playtime_window.dispose
  72.     @steps_window.dispose
  73.     @gold_window.dispose
  74.     @status_window.dispose
  75.   end
  76.   #--------------------------------------------------------------------------
  77.   # ● 刷新画面
  78.   #--------------------------------------------------------------------------
  79.   def update
  80.     # 刷新窗口
  81.     @command_window.update
  82.     @playtime_window.update
  83.     @steps_window.update
  84.     @gold_window.update
  85.     @status_window.update
  86.     # 命令窗口被激活的情况下: 调用 update_command
  87.     if @command_window.active
  88.       update_command
  89.       return
  90.     end
  91.     # 状态窗口被激活的情况下: 调用 update_status
  92.     if @status_window.active
  93.       update_status
  94.       return
  95.     end
  96.   end
  97.   #--------------------------------------------------------------------------
  98.   # ● 刷新画面 (命令窗口被激活的情况下)
  99.   #--------------------------------------------------------------------------
  100.   def update_command
  101.     # 按下 B 键的情况下
  102.     if Input.trigger?(Input::B)
  103.       # 演奏取消 SE
  104.       $game_system.se_play($data_system.cancel_se)
  105.       # 切换的地图画面
  106.       $scene = Scene_Map.new
  107.       return
  108.     end
  109.     # 按下 C 键的情况下
  110.     if Input.trigger?(Input::C)
  111.       # 同伴人数为 0、存档、游戏结束以外的场合
  112.       if $game_party.actors.size == 0 and @command_window.index < 4
  113.         # 演奏冻结 SE
  114.         $game_system.se_play($data_system.buzzer_se)
  115.         return
  116.       end
  117.       # 命令窗口的光标位置分支
  118.       case @command_window.index
  119.       when 0  # 物品
  120.         # 演奏确定 SE
  121.         $game_system.se_play($data_system.decision_se)
  122.         # 切换到物品画面
  123.         $scene = Scene_Item.new
  124.       when 1  # 存档
  125.         # 禁止存档的情况下
  126.         if $game_system.save_disabled
  127.           # 演奏冻结 SE
  128.           $game_system.se_play($data_system.buzzer_se)
  129.           return
  130.         end
  131.         # 演奏确定 SE
  132.         $game_system.se_play($data_system.decision_se)
  133.         # 切换到存档画面
  134.         $scene = Scene_Save.new
  135.       when 2  # 游戏结束
  136.         # 演奏确定 SE
  137.         $game_system.se_play($data_system.decision_se)
  138.         # 切换到游戏结束画面
  139.         $scene = Scene_End.new
  140.       end
  141.       return
  142.     end
  143.   end
  144.   #--------------------------------------------------------------------------
  145.   # ● 刷新画面 (状态窗口被激活的情况下)
  146.   #--------------------------------------------------------------------------
  147.   def update_status
  148.     # 按下 B 键的情况下
  149.     if Input.trigger?(Input::B)
  150.       # 演奏取消 SE
  151.       $game_system.se_play($data_system.cancel_se)
  152.       # 激活命令窗口
  153.       @command_window.active = true
  154.       @status_window.active = false
  155.       @status_window.index = -1
  156.       return
  157.     end
  158.     # 按下 C 键的情况下
  159.     if Input.trigger?(Input::C)
  160.       # 命令窗口的光标位置分支
  161.       case @command_window.index
  162.             when 1  # 存档
  163.         # 禁止存档的情况下
  164.         if $game_system.save_disabled
  165.           # 演奏冻结 SE
  166.           $game_system.se_play($data_system.buzzer_se)
  167.           return
  168.         end
  169.       end
  170.     end
  171.   end
  172. end
复制代码

点评

覆盖Scene_Menu,就可以把“状态”去掉  发表于 2010-8-19 13:40
无视掉。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
18 小时
注册时间
2010-8-14
帖子
155
7
 楼主| 发表于 2010-8-20 11:55:42 | 只看该作者
好羡慕你们:(
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
4 小时
注册时间
2010-4-12
帖子
103
8
发表于 2010-8-20 15:28:13 | 只看该作者
1.在程序中找到显示图片的代码,很好找的
2.找到后对应所在文件夹下面的图片
3.找到之后就可以直接找到对应的装备栏等的坐标
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 14:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表