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.GameplayExplosioneffect.Parent = Workspace-- 播放觸覺效果effect:Play()
控制器模擬
控制器模擬器可以從Studio的測試選單中訪問,讓您直接在Studio中準確模擬遊戲控制器輸入。默認控制器是一個通用遊戲控制器,但您可以從左上角的選擇菜單中選擇其他選項。

在遊戲測試時,您可以使用虛擬控制器和滑鼠來控制遊戲。
您還可以點擊右上角的編輯映射以查看和編輯虛擬控制器的鍵位映射,例如E對應ButtonL2或9對應ButtonA。這些映射會像其他Studio設置一樣保存(每個控制器、每個用戶、每部電腦),並且在模擬器窗口和3D視口中轉換為遊戲控制器事件。