RPG MAKER XP改了菜单以后变成这样 咋办

首先我把不需要的都去掉了但是……如果点存档或者结束游戏,再返回的话就会发生这种情况……如何解决... 首先我把不需要的都去掉了 但是……

如果点存档或者结束游戏,再返回的话就会发生这种情况……如何解决
展开
 我来答
ML4455739
2015-01-19 · TA获得超过2736个赞
知道大有可为答主
回答量:1783
采纳率:72%
帮助的人:1227万
展开全部

这……

这菜单选项是怎么改的,直接把汉字去掉了?选项本身还没去掉啊

这明显是选项的数量超过了窗口的可容纳高度啊,所以才出现白色三角号


原因:

在存档画面执行返回的时候,脚本内部是指定了返回到菜单的同时,自动把选项指针定位到第五个选项上。所以这去掉其他选项的方法明显是不对的。


首先,您的菜单是想只保留物品、存档和结束游戏三个选项是吗,

进入脚本编辑器,Scene_Menu里,原本21行以下应该是

    # 生成命令窗口
    s1 = $data_system.words.item
    s2 = $data_system.words.skill
    s3 = $data_system.words.equip
    s4 = "状态"
    s5 = "存档"
    s6 = "结束游戏"
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
    @command_window.index = @menu_index
    # 同伴人数为 0 的情况下
    if $game_party.actors.size == 0
      # 物品、特技、装备、状态无效化
      @command_window.disable_item(0)
      @command_window.disable_item(1)
      @command_window.disable_item(2)
      @command_window.disable_item(3)
    end
    # 禁止存档的情况下
    if $game_system.save_disabled
      # 存档无效
      @command_window.disable_item(4)
    end

首先这段应该改成这样

    # 生成命令窗口
    s1 = $data_system.words.item
    s5 = "存档"
    s6 = "结束游戏"
    @command_window = Window_Command.new(160, [s1, s5, s6])
    @command_window.index = @menu_index
    # 同伴人数为 0 的情况下
    if $game_party.actors.size == 0
      # 物品 状态无效化
      @command_window.disable_item(0)
    end
    # 禁止存档的情况下
    if $game_system.save_disabled
      # 存档无效
      @command_window.disable_item(1)    # ★ 注意这里改成1
    end

然后,往下翻,119行左右,原本是这样

      case @command_window.index
      when 0  # 物品
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换到物品画面
        $scene = Scene_Item.new
      when 1  # 特技
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 激活状态窗口
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 2  # 装备
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 激活状态窗口
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 3  # 状态
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 激活状态窗口
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 4  # 存档
        # 禁止存档的情况下
        if $game_system.save_disabled
          # 演奏冻结 SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换到存档画面
        $scene = Scene_Save.new
      when 5  # 游戏结束
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换到游戏结束画面
        $scene = Scene_End.new
      end
      return
    end

这里要改成

      case @command_window.index
      when 0  # 物品
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换到物品画面
        $scene = Scene_Item.new
      when 1  # 存档    ★ 注意这里改成1
        # 禁止存档的情况下
        if $game_system.save_disabled
          # 演奏冻结 SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换到存档画面
        $scene = Scene_Save.new
      when 2  # 游戏结束    ★ 注意这里改成2
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换到游戏结束画面
        $scene = Scene_End.new
      end
      return
    end

除了删除几段之外还要改数字,另外还要注意,

不要掉了或者多了end这一行,原本是多少个end改完还是多少个end,

接下来来到Scene_Save这个脚本,33行左右是

    # 切换到菜单画面
    $scene = Scene_Menu.new(4)

把这个4改成1,下面的50行也是4改成1
同样的,来到Scene_End这个脚本,56行左右

      # 切换到菜单画面
      $scene = Scene_Menu.new(5)

把5改成2,最下面还有106行也是一样5改成2

还要做点多余的事的话,就是把Scene_Skill和Scene_Equip这些可以删掉了。

删不删都行。差不多就是这样。

如果不是在默认脚本的基础上修改的菜单,那就发上来,
如果是在默认基础上自己改的,那就按照我上面说的方法改。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式