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,例如 GameplayCollision 或 UIClick。
一旦 HapticEffect 就位,您可以通過 Play() 方法啟動它,例如:
local Workspace = game:GetService("Workspace")
local effect = Instance.new("HapticEffect")
effect.Type = Enum.HapticEffectType.GameplayExplosion
effect.Parent = Workspace
-- 播放觸覺效果
effect:Play()控制器模擬
使用 控制器模擬器 直接在 Studio 中測試遊戲手把輸入,而無需連接實體控制器。它顯示模擬設備的圖片,並在輸入到達時點亮其控制,這有助於確認您的 UserInputService 處理程序和 輸入動作系統 綁定按預期反應。