游戏手柄输入

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

Roblox 接受来自游戏手柄的输入,例如 Xbox 和 PlayStation 控制器。为了简化 跨平台 输入,包括游戏手柄,Roblox 提供了 输入动作系统,以定义 动作,例如“跳跃”、“冲刺”或“射击”,并为多个硬件输入设置 绑定 来驱动这些动作。

在绑定游戏手柄输入时,请参阅 常见控制方案,以为玩家创建一致的游戏手柄体验。在设置输入后,您可以通过在支持的控制器上包含 触觉反馈 来增强玩家的体验。

在构建对游戏手柄的支持时,请记得经常使用连接的游戏手柄或 Studio 中的 控制器模拟器 进行测试。

输入类型检测

在跨平台开发中,确定并响应玩家使用的 PreferredInput 类型非常重要,通常是为了确保 UI 元素(如屏幕上的按钮和菜单)优雅地工作,并支持跨设备的交互。

例如,控制台假设游戏手柄是默认输入,但 PC 或笔记本电脑上的玩家也可以选择连接蓝牙游戏手柄。在这种情况下,鼠标/键盘仍然是该玩家的有效输入,但您可以假设他们希望将连接的游戏手柄作为 主要 输入类型。

有关更多信息,请参见 输入类型检测

常见控制方案

在考虑 输入动作系统 的特定控制绑定时,最好在不同游戏之间建立一致性。以下输入绑定将帮助玩家立即感到熟悉并舒适于游戏手柄控制。

输入常见用例
ButtonA接受玩家提示或 GUI 选择。可替代用于主要动作,例如跳跃。
ButtonB取消玩家提示或 GUI 选择。可替代用于次要动作,例如闪避、翻滚或冲刺。
Thumbstick1通常与角色移动相关联。
Thumbstick2通常与相机移动相关联。
ButtonL2, ButtonR2通常用于主要动作,例如射击。
ButtonL1, ButtonR1, ButtonX, ButtonY次要动作,例如重新装填、瞄准或访问库存或小地图。

触觉反馈

许多游戏手柄控制器内置电机以提供触觉反馈。添加震动和振动可以极大增强玩家的体验,并提供超越视觉或音频的细微反馈。

Roblox 支持 PlayStation 游戏手柄、Xbox 游戏手柄和 Quest Touch 控制器的触觉反馈。触觉反馈通过 HapticEffect 实例进行管理,可以设置为特定的 Type,例如 GameplayCollisionUIClick

一旦 HapticEffect 就位,您可以通过 Play() 方法启动它,例如:

local Workspace = game:GetService("Workspace")
local effect = Instance.new("HapticEffect")
effect.Type = Enum.HapticEffectType.GameplayExplosion
effect.Parent = Workspace
-- 播放触觉效果
effect:Play()

控制器模拟

使用 控制器模拟器 在 Studio 中直接测试游戏手柄输入,而无需连接物理控制器。它显示模拟设备的图片,并在输入到达时点亮其控制,这有助于确认您的 UserInputService 处理程序和 输入动作系统 绑定按预期反应。

©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。