滑鼠和鍵盤輸入

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

在 Roblox 的會話中,有很大比例是在使用滑鼠和鍵盤的設備上進行的,因此在為廣泛受眾設計遊戲時,支援這些輸入是非常重要的。

為了簡化 跨平台 輸入,包括滑鼠/鍵盤,Roblox 提供了 輸入動作系統 來定義 動作,例如「跳躍」、「衝刺」或「射擊」,並設置 綁定,以便多種硬體輸入來驅動這些動作。

Roblox 通過 UserInputService 事件,如 InputBeganInputEnded 以及方法如 IsKeyDown() 來支援一般的滑鼠/鍵盤輸入,這些方法可以檢查鍵盤上特定鍵是否被按下。

輸入類型檢測

在跨平台開發中,確定並回應玩家使用的 PreferredInput 類型是很重要的,通常是為了確保 UI 元素(如螢幕上的按鈕和菜單)能夠優雅地運作並支援跨設備的互動。

例如,PC 或筆記型電腦假設滑鼠/鍵盤是預設輸入,但玩家可以選擇連接藍牙手把。在這種情況下,滑鼠/鍵盤仍然是有效的輸入,但你可以假設玩家希望將連接的手把作為 主要 輸入類型。

詳細資訊請參見 輸入類型檢測

一般滑鼠/鍵盤輸入

除了 輸入動作系統 外,你可以使用 UserInputService 捕獲滑鼠和鍵盤輸入。以下的 LocalScript,當放在 StarterPlayerScripts 中時,捕獲鍵和滑鼠點擊的開始和結束階段,並將結果打印到 輸出 窗口。

LocalScript - 輸出鍵/滑鼠開始和結束
local UserInputService = game:GetService("UserInputService")
local function onInputBegan(inputObject, processedEvent)
-- 如果其他腳本已處理該輸入則返回
if processedEvent then return end
print(inputObject.KeyCode.Name, "開始!", inputObject.Position)
end
local function onInputEnded(inputObject, processedEvent)
-- 如果其他腳本已處理該輸入則返回
if processedEvent then return end
print(inputObject.KeyCode.Name, "結束!", inputObject.Position)
end
UserInputService.InputBegan:Connect(onInputBegan)
UserInputService.InputEnded:Connect(onInputEnded)

滑鼠圖示

你可以自定義玩家滑鼠圖示的外觀和行為,以在你的遊戲中創建一致的風格。這包括在特定情況下暫時更改玩家的滑鼠圖示,例如當滑鼠懸停在按鈕上時。

你可以在 LocalScript 中通過將 MouseIcon 屬性設置為自定義 Roblox 資產 ID 來更改玩家的滑鼠圖示。例如,以下的 LocalScript 將玩家的預設滑鼠圖示更改為中間有藍點的圓形。

local UserInputService = game:GetService("UserInputService")
UserInputService.MouseIcon = "rbxassetid://3400146391"
©2026 Roblox Corporation、Roblox、Roblox 標誌及 Powering Imagination 是我們在美國及其他國家地區的部分註冊與未註冊商標。