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

Project1

 找回密码
 注册会员
搜索

在菜单增加一项选项时的问题

查看数: 1407 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2011-7-16 20:30

正文摘要:

因为没有学过RGSS2的脚本,所以不是很懂。 我在Scene_menu里面加多一个人物手动加点的时候,测试游戏,打开菜单还是好好的,不过按人物加点就过弹出个错误。 这样的 各位帮忙。 ...

回复

瞌睡帝、 发表于 2011-7-16 20:37:23
真的可以了。

谢谢cherry姐哈


瞌睡帝、于2011-7-16 20:38补充以下内容:
问题已近解决了。

谢谢拉罗卡特啦!

点评

cherry 你要说 不要迷恋哥 哥只会养猪XD  发表于 2011-7-16 20:39
其實我的方法 也是跟cherry之前發表求助的ESC選項有關的 看到的  发表于 2011-7-16 20:38
我是哥······  发表于 2011-7-16 20:38
拉羅卡特 发表于 2011-7-16 20:37:13
本帖最后由 拉羅卡特 于 2011-7-16 20:37 编辑

照我的方法用吧
  1. OPTION_name = "人物加点"
  2. #==============================================================================
  3. # ■ Scene_Menu
  4. #------------------------------------------------------------------------------
  5. #  处理菜单画面的类。
  6. #==============================================================================

  7. class Scene_Menu < Scene_Base
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化对像
  10.   #     menu_index : 命令窗口光标初始位置
  11.   #--------------------------------------------------------------------------
  12.   def initialize(menu_index = 0)
  13.     @menu_index = menu_index
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # ● 开始处理
  17.   #--------------------------------------------------------------------------
  18.   def start
  19.     super
  20.     create_menu_background
  21.     create_command_window
  22.     @gold_window = Window_Gold.new(0, 360)
  23.     @status_window = Window_MenuStatus.new(160, 0)
  24.   end
  25.   #--------------------------------------------------------------------------
  26.   # ● 结束处理
  27.   #--------------------------------------------------------------------------
  28.   def terminate
  29.     super
  30.     dispose_menu_background
  31.     @command_window.dispose
  32.     @gold_window.dispose
  33.     @status_window.dispose
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   # ● 更新画面
  37.   #--------------------------------------------------------------------------
  38.   def update
  39.     super
  40.     update_menu_background
  41.     @command_window.update
  42.     @gold_window.update
  43.     @status_window.update
  44.     if @command_window.active
  45.       update_command_selection
  46.     elsif @status_window.active
  47.       update_actor_selection
  48.     end
  49.   end
  50.   #--------------------------------------------------------------------------
  51.   # ● 生成命令窗口
  52.   #--------------------------------------------------------------------------
  53.   def create_command_window
  54.     s0 = OPTION_name
  55.     s1 = Vocab::equip
  56.     s2 = Vocab::status
  57.     s3 = Vocab::save
  58.     s4 = Vocab::game_end
  59.     @command_window = Window_Command.new(160, [s0, s1, s2, s3, s4])
  60.     @command_window.index = @menu_index
  61.     if $game_party.members.size == 0          # 如果队伍为空
  62.       @command_window.draw_item(0, false)     # 无效化物品选项
  63.       @command_window.draw_item(1, false)     # 无效化技能选项
  64.       @command_window.draw_item(2, false)     # 无效化装备选项
  65.       @command_window.draw_item(3, false)     # 无效化状态选项
  66.     end
  67.     if $game_system.save_disabled             # 如果禁止存档
  68.       @command_window.draw_item(4, false)     # 无效化存档选项
  69.     end
  70.   end
  71.   #--------------------------------------------------------------------------
  72.   # ● 更新命令窗口
  73.   #--------------------------------------------------------------------------
  74.   def update_command_selection
  75.     if Input.trigger?(Input::B)
  76.       Sound.play_cancel
  77.       $scene = Scene_Map.new
  78.     elsif Input.trigger?(Input::C)
  79.       if $game_party.members.size == 0 and @command_window.index < 4
  80.         Sound.play_buzzer
  81.         return
  82.       elsif $game_system.save_disabled and @command_window.index == 4
  83.         Sound.play_buzzer
  84.         return
  85.       end
  86.       Sound.play_decision
  87.       case @command_window.index
  88.       when 0,1,2    # 人物加点、装备、状态
  89.         start_actor_selection
  90.       when 3      # 存档
  91.         $scene = Scene_File.new(true, false, false)
  92.       when 4      # 结束游戏
  93.         $scene = Scene_End.new
  94.       end
  95.     end
  96.   end
  97.   #--------------------------------------------------------------------------
  98.   # ● 角色选择开始
  99.   #--------------------------------------------------------------------------
  100.   def start_actor_selection
  101.     @command_window.active = false
  102.     @status_window.active = true
  103.     if $game_party.last_actor_index < @status_window.item_max
  104.       @status_window.index = $game_party.last_actor_index
  105.     else
  106.       @status_window.index = 0
  107.     end
  108.   end
  109.   #--------------------------------------------------------------------------
  110.   # ● 角色选择结束
  111.   #--------------------------------------------------------------------------
  112.   def end_actor_selection
  113.     @command_window.active = true
  114.     @status_window.active = false
  115.     @status_window.index = -1
  116.   end
  117.   #--------------------------------------------------------------------------
  118.   # ● 角色选择更新
  119.   #--------------------------------------------------------------------------
  120.   def update_actor_selection
  121.     if Input.trigger?(Input::B)
  122.       Sound.play_cancel
  123.       end_actor_selection
  124.     elsif Input.trigger?(Input::C)
  125.       $game_party.last_actor_index = @status_window.index
  126.       Sound.play_decision
  127.       case @command_window.index
  128.       when 0  # 人物加点
  129.         $scene = Scene_Lvup.new(@status_window.index)
  130.       when 1  # 装备
  131.         $scene = Scene_Equip.new(@status_window.index)
  132.       when 2  # 状态
  133.         $scene = Scene_Status.new(@status_window.index)
  134.       end
  135.     end
  136.   end
  137. end
复制代码

评分

参与人数 1星屑 +24 收起 理由
Cherry + 24 认可答案

查看全部评分

Cherry 发表于 2011-7-16 20:33:20
可能是你改错了,试试这个:
  1. #==============================================================================
  2. # ■ Scene_Menu
  3. #------------------------------------------------------------------------------
  4. #  处理菜单画面的类。
  5. #==============================================================================

  6. class Scene_Menu < Scene_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #     menu_index : 命令窗口光标初始位置
  10.   #--------------------------------------------------------------------------
  11.   def initialize(menu_index = 0)
  12.     @menu_index = menu_index
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 开始处理
  16.   #--------------------------------------------------------------------------
  17.   def start
  18.     super
  19.     create_menu_background
  20.     create_command_window
  21.     @gold_window = Window_Gold.new(0, 360)
  22.     @status_window = Window_MenuStatus.new(160, 0)
  23.   end
  24.   #--------------------------------------------------------------------------
  25.   # ● 结束处理
  26.   #--------------------------------------------------------------------------
  27.   def terminate
  28.     super
  29.     dispose_menu_background
  30.     @command_window.dispose
  31.     @gold_window.dispose
  32.     @status_window.dispose
  33.   end
  34.   #--------------------------------------------------------------------------
  35.   # ● 更新画面
  36.   #--------------------------------------------------------------------------
  37.   def update
  38.     super
  39.     update_menu_background
  40.     @command_window.update
  41.     @gold_window.update
  42.     @status_window.update
  43.     if @command_window.active
  44.       update_command_selection
  45.     elsif @status_window.active
  46.       update_actor_selection
  47.     end
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 生成命令窗口
  51.   #--------------------------------------------------------------------------
  52.   def create_command_window
  53.     s1 = Vocab::item
  54.     s2 = Vocab::skill
  55.     s3 = Vocab::equip
  56.     s4 = Vocab::status
  57.     s5 = "手动加点"
  58.     s6 = Vocab::save
  59.     s7 = Vocab::game_end
  60.     s8 = Vocab::game_end
  61.     @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6,s7])
  62.     @command_window.index = @menu_index
  63.     if $game_party.members.size == 0          # 如果队伍为空
  64.       @command_window.draw_item(0, false)     # 无效化物品选项
  65.       @command_window.draw_item(1, false)     # 无效化技能选项
  66.       @command_window.draw_item(2, false)     # 无效化装备选项
  67.       @command_window.draw_item(3, false)     # 无效化状态选项
  68.     end
  69.     if $game_system.save_disabled             # 如果禁止存档
  70.       @command_window.draw_item(4, false)     # 无效化存档选项
  71.     end
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   # ● 更新命令窗口
  75.   #--------------------------------------------------------------------------
  76.   def update_command_selection
  77.     if Input.trigger?(Input::B)
  78.       Sound.play_cancel
  79.       $scene = Scene_Map.new
  80.     elsif Input.trigger?(Input::C)
  81.       if $game_party.members.size == 0 and @command_window.index < 4
  82.         Sound.play_buzzer
  83.         return
  84.       elsif $game_system.save_disabled and @command_window.index == 4
  85.         Sound.play_buzzer
  86.         return
  87.       end
  88.       Sound.play_decision
  89.       case @command_window.index
  90.       when 0      # 物品
  91.         $scene = Scene_Item.new
  92.       when 1,2,3  # 技能、装备、状态
  93.         start_actor_selection
  94.       when 4
  95.         $scene = Scene_Lvup.new
  96.       when 5      # 存档
  97.         $scene = Scene_File.new(true, false, false)
  98.       when 6      # 结束游戏
  99.         $scene = Scene_End.new
  100.       end
  101.     end
  102.   end
  103.   #--------------------------------------------------------------------------
  104.   # ● 角色选择开始
  105.   #--------------------------------------------------------------------------
  106.   def start_actor_selection
  107.     @command_window.active = false
  108.     @status_window.active = true
  109.     if $game_party.last_actor_index < @status_window.item_max
  110.       @status_window.index = $game_party.last_actor_index
  111.     else
  112.       @status_window.index = 0
  113.     end
  114.   end
  115.   #--------------------------------------------------------------------------
  116.   # ● 角色选择结束
  117.   #--------------------------------------------------------------------------
  118.   def end_actor_selection
  119.     @command_window.active = true
  120.     @status_window.active = false
  121.     @status_window.index = -1
  122.   end
  123.   #--------------------------------------------------------------------------
  124.   # ● 角色选择更新
  125.   #--------------------------------------------------------------------------
  126.   def update_actor_selection
  127.     if Input.trigger?(Input::B)
  128.       Sound.play_cancel
  129.       end_actor_selection
  130.     elsif Input.trigger?(Input::C)
  131.       $game_party.last_actor_index = @status_window.index
  132.       Sound.play_decision
  133.       case @command_window.index
  134.       when 1  # 技能
  135.         $scene = Scene_Skill.new(@status_window.index)
  136.       when 2  # 装备
  137.         $scene = Scene_Equip.new(@status_window.index)
  138.       when 3  # 状态
  139.         $scene = Scene_Status.new(@status_window.index)
  140.       end
  141.     end
  142.   end
  143. end
复制代码

点评

我照你的之前的方法使用以下這招 你因該很有映像才對喔  发表于 2011-7-16 20:36
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2025-1-11 04:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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