控制叠加层 | hyperPad Documentation
Logo
Documentation交互控制叠加层
交互

控制叠加层

Published 2026年9月30日
控制叠加层

使用生成的 Controls 覆盖层,让玩家选择控制器并更改按键绑定。你可以在编辑器中更改它的图形、字体、位置和颜色。

Controls Overlay 是用于更新此菜单的内部行为。模板会将它添加到菜单的行为树中。它不会显示在“添加行为”列表中。若要创建自己的输入操作,请使用 Controller Event。若要创建自定义绑定菜单,请使用 Rebind Input。

打开菜单

配置映射输入后,编辑器会添加一个可编辑的 Controls 覆盖层。使用 Load Overlay 打开它,然后选择生成的覆盖层。如果希望玩家更改控制时游戏暂停,请保持暂停设置开启。活动覆盖层仍然可以接收输入。

如果模板检测到启动菜单的按键可用,就会添加 Menu 和 Escape 快捷键。它还会为可识别的暂停覆盖层添加 Controls 项。如果游戏已使用 Menu 或 Escape,或者有自己的暂停流程,请为你想使用的 UI 添加 Load Overlay 连接。

可编辑的 Controls 覆盖层,已选中 Controller Body,并打开了其 Graphic 检查器。

选择生成的对象,即可更改菜单的图形、文本和布局。编辑器会用淡色轮廓显示隐藏的选项卡和监听元素。这些轮廓在运行游戏时不会出现。

Controls 覆盖层中所选 Controller Body 的原生色调选择器,显示其预设的炭灰色色调。

选择 Controller Body,然后打开它的颜色选择器以更改色调。

玩家可以更改的内容

正在运行的 Player 1 Controls 覆盖层,显示设备选项卡和所选设备的操作列表。

选择 Controller、Keyboard 或 Mouse,一次查看一种设备的绑定。每一行都会显示操作名称、当前控制方式和 Change。只会显示你为该设备创建的替代控制方式。空白选项卡会说明该设备尚未设置控制方式。

模板每页最多显示四行操作。如果所选设备的操作超过四个,就会显示 Previous 和 Next。未使用的行会保持隐藏。同一来源和操作名称的替代控制方式共用一个操作。同一设备类别中的第二个替代控制方式会使用另一行。

Controller 选项卡会显示分配给所选玩家的设备。如果可以选择其他已连接的控制器,或为尚未分配设备的玩家插槽分配控制器,就会显示箭头。Keyboard 和 Mouse 选项卡会显示各自的设备名称。

Controller 选项卡上的控制器图示会高亮显示所选绑定。按钮位于图示主体内。你可以用自己的 Graphic 替换图示。映射使用标准控制器位置,因此更换图示不会改变控制方式。

源图形为白色且背景透明。模板会应用炭灰色、灰色和薄荷绿的色调。更改对象的色调,使其符合你的游戏风格。

点击 Change 可打开专用的监听提示。提示会显示操作、当前绑定以及接下来需要按下的内容。Cancel 会保留之前的绑定并返回列表。监听期间,导航、设备分配和重置控件会保持隐藏。

Controls 覆盖层正在监听新的 Jump 按键。它显示 Current: Space、提示 Press a key 和 Cancel。

在普通列表中,Reset selected 会恢复高亮显示的绑定。Reset all 会将所选玩家在整个项目中的绑定恢复为预设默认值。Done 会关闭覆盖层。

保留生成的连接

此教学示意图展示了生成的 Done 按钮的完整执行链。所有三个行为都属于名为 Controls: Done 的对象。这里只展示生成模板中的一个特定部分;菜单中的其他连接仍会保留。

生成的 Done 按钮:Started Touching 执行带有 Done 操作的 Controls Overlay,随后执行 Close Overlay。

  1. Started Touching 监听 Controls: Done 对象,并拦截它收到的触摸。
  2. 它底部的白色执行连接器会运行 Controls Overlay,其 Operation 为 Done。Object A 用于标识共用的 Controls Menu 锚点。
  3. Controls Overlay 底部的白色执行连接器会运行 Close Overlay。生成的关闭操作中,Resume All Scenes 处于关闭状态,Unload When Finished 处于开启状态。

Done 会在关闭操作运行前取消正在进行的输入捕获。自定义按钮时,请保留此顺序。计时器、控制器和键盘连接是同一模板中的独立部分。

操作

这些操作保存在生成的辅助行为中。通常,你只需自定义菜单对象,并保留这些辅助行为的连接。

操作功能
Refresh更新标签、可见绑定行、捕获状态、分页信息和控制器高亮。生成的 Timer 每 0.2 秒运行一次,并立即启动。
NextPlayer, PreviousPlayer选择菜单绑定或控制器分配中显示的另一个玩家插槽。
NextController, PreviousController循环切换已连接的控制器,并将所选设备分配给所选玩家。
Navigate, NextSource在操作和设备选项卡之间移动选择项。
SelectSource选择 Controller、Keyboard 或 Mouse 选项卡。切换选项卡时会选中第一个操作。点击当前激活的选项卡会保留当前选择。
NextBinding, PreviousBinding选择下一个或上一个游戏输入。
NextPage, PreviousPage切换绑定表的页面。
SelectCell选择可见的操作行。生成的行会使用当前设备选项卡。
Rebind, RebindCell开始捕获所选的预设绑定。重新绑定之前,请先在 Map Control Inputs 中添加替代控制方式。
Cancel停止捕获并保留现有绑定。
Reset恢复所选的预设默认值。
ResetAll恢复所选玩家的所有已保存绑定。
Done取消捕获,然后允许已连接的 Close Overlay 操作运行。
Back取消正在进行的捕获并留在菜单中。如果当前没有捕获操作,则继续执行已连接的关闭操作。

对象引用和输入值

模板会将以下引用保存在辅助行为中。编辑其行为树时,请确保这些引用仍指向对应的对象。

引用或值用途
Layout Version生成的布局使用版本 3。现有的自定义覆盖层会保留其已保存的布局。
Layout Size, Layout Objects设计画布的大小及属于该画布的对象。辅助行为会将整个组合居中并缩放,使标签和图形在不同屏幕上保持对齐。覆盖层打开时,会使用你保存的位置和缩放比例。没有这些值的覆盖层会保留原有位置。
Source Tabs, Diagram Objects每个选项卡的标签和高亮引用,以及每种设备对应的可见图示对象。
Normal Objects, Capture Objects用于在绑定列表和监听提示之间切换的可见性分组。
Paging Objects, Reset Objects, Device Selector Objects仅在当前状态需要相应控件时显示的分组。Device Selector Objects 包含控制器选择器箭头及其标签。
Capture Title, Binding, and Prompt Labels正在更改的操作、该操作的当前绑定,以及下一步捕获提示。
Device Status, Empty State, and Source Caption Labels设备分配或设备说明、空选项卡提示,以及所选设备说明。
Object A共用的 Controls Menu 锚点,用于保存此覆盖层实例的选择状态。
Player Label, Controller Label显示所选玩家以及当前设备或已分配控制器的标签。
Binding Label, Source Label, Selection Label用于显示所选操作和当前绑定的可选标签。
Status Label, Page Label普通列表中的说明或结果,以及当前页码。
Table Rows版本 3 的记录包含操作标签、一个绑定标签、背景、选择高亮和行的 Object ID。旧版模板保留其三列记录。
Diagram Labels, Diagram Highlights标准控制器位置上的高亮所对应的 Object ID。旧版模板也可以提供操作标签。
Row Index, SourceRebindCell 或 SelectCell 使用的可见行槽位和设备类别。Source current 表示使用当前选项卡。
x, y, Navigation Step用于在操作和选项卡之间移动的方向值。使用键盘导航时,每次按键移动一步。
Event PlayerController Event 的输出,用于识别正在操作菜单的玩家。

输出

Controls Overlay 没有可拖动的数据输出。它会写入所引用的标签,并更新所选绑定或设备分配。它的白色执行输出会继续运行连接在该操作之后的行为。

配对与捕获

玩家通过平台支持的 Bluetooth、USB 或其他设置方式配对控制器。覆盖层会选择已连接的控制器。

Escape 或控制器的 Menu 按钮会取消捕获。模板也有一个 Cancel 按钮。如果所选控制器没有已确认的 Menu 控件,控制器捕获会在 15 秒后超时。键盘和鼠标捕获应使用 Cancel 或 Escape 取消。捕获到的输入在恢复中立状态前不会传递给游戏。

对于键盘移动,玩家需要按顺序按下四个不同的按键:上、右、下、左。菜单会显示已保存的按键。对于鼠标行,系统会根据预设输入的类型捕获鼠标按键、滚轮方向或移动。

设备分配仅适用于当前会话。绑定选择会按项目、玩家和预设绑定保存。已配对的手机控制器与实体控制器共用相同的绑定和玩家分配方式。有关配对信息,请参阅使用手机进行游戏。

相关文章