如何在脚本菜单中等待输入?(请查看帖子标签!!!)

我想实现主菜单在显示命令菜单之前等待按钮输入。该怎么做?对应的脚本调用是什么?

很难解释具体要等待什么输入,但我为此写了一个自定义脚本。

基本上,首先将问题分解成几个部分。

  • 我们需要让命令窗口初始时处于隐藏状态。为此,我将使用 openness(透明度)属性,因为这几乎不耗费性能就能实现快速动画效果。
  • 接下来需要检查按键输入。当按下对应的按钮时,窗口就会“打开”。

我还做了处理,允许你按 X(取消)退出菜单,因为该功能通常依赖于窗口状态。如果不这样做,你就会卡在菜单中,直到打开窗口后再按 X 才能关闭菜单。

以下是完整脚本。

class Window_MenuCommand < Window_Command
  alias oz_waitforopen_initialize initialize
  def initialize
    oz_waitforopen_initialize
    # 初始时窗口关闭
    self.openness = 0
  end
end

class Scene_Menu < Scene_MenuBase
  alias oz_waitforopen_update update
  def update
    oz_waitforopen_update
    # 检查窗口是否关闭
    if @command_window.close?
      # 如果按下 Z 键则打开窗口
      if Input.trigger?(:C)
        @command_window.open
      # 如果按下 X 键则关闭菜单
      elsif Input.trigger?(:B)
        return_scene
      end
    end
  end
end

轮询输入的具体行是 Input.trigger。你可能会注意到 Z 对应 C,X 对应 B,那么这到底是怎么回事呢?嗯……这里有一张图供参考。

1 个赞

嗯……没起作用。不过说真的,真的很感谢你为我的问题写了一整段脚本。它会在不等待任何按键输入的情况下直接打开命令菜单。我按照通常插入脚本的方式插入了这段代码。

这个草稿我搁置了大概5个小时。我刚才又进行了几次试玩,结果它没有隐藏主菜单的命令菜单,反而把它藏进了物品栏里!哈哈哈

您的项目中是否使用了任何自定义脚本?

哦,我是的。这是他们。