Input di mouse e tastiera

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Una grande percentuale delle sessioni di Roblox viene giocata su dispositivi con mouse e tastiera, quindi è importante supportare questi input quando si progetta un gioco per un vasto pubblico.

Per semplificare gli input cross-platform, inclusi mouse/tastiera, Roblox fornisce il Sistema di Azioni di Input per definire azioni come "salta", "corri" o "spara" e impostare binding per più input hardware per attivare queste azioni.

Roblox supporta anche input generali di mouse/tastiera attraverso eventi di UserInputService come InputBegan e InputEnded e metodi come IsKeyDown() per controllare se un particolare tasto è premuto su una tastiera.

Rilevamento del tipo di input

Nello sviluppo cross-platform, è importante determinare e rispondere al tipo di PreferredInput che un giocatore sta utilizzando, normalmente per garantire che gli elementi UI come i pulsanti e i menu a schermo funzionino elegantemente e supportino l'interazione tra i dispositivi.

Ad esempio, un PC o un laptop presume che mouse/tastiera sia l'input predefinito, ma un giocatore potrebbe scegliere di collegare un gamepad bluetooth. In questo caso, mouse/tastiera rimane un input valido, ma puoi presumere che il giocatore voglia passare al gamepad connesso come tipo di input primario.

Consulta il rilevamento del tipo di input per ulteriori informazioni.

Input generico di mouse/tastiera

Oltre al Sistema di Azioni di Input, puoi catturare gli input di mouse e tastiera utilizzando UserInputService. Il seguente LocalScript, se collocato in StarterPlayerScripts, cattura le fasi inizio e fine dei tasti e dei clic del mouse e stampa il risultato nella finestra Output.

LocalScript - Output Tasto/Mouse Iniziato e Terminato

local UserInputService = game:GetService("UserInputService")
local function onInputBegan(inputObject, processedEvent)
-- Ritorna se un altro script ha già elaborato l'input
if processedEvent then return end
print(inputObject.KeyCode.Name, "iniziato!", inputObject.Position)
end
local function onInputEnded(inputObject, processedEvent)
-- Ritorna se un altro script ha già elaborato l'input
if processedEvent then return end
print(inputObject.KeyCode.Name, "terminato!", inputObject.Position)
end
UserInputService.InputBegan:Connect(onInputBegan)
UserInputService.InputEnded:Connect(onInputEnded)

Icona del mouse

Puoi personalizzare l'aspetto e il comportamento dell'icona del mouse di un giocatore all'interno del tuo gioco per creare uno stile coeso in tutti i tuoi elementi UI. Questo include cambiare temporaneamente l'icona del mouse del giocatore in circostanze specifiche, come quando si passa sopra un pulsante.

Puoi cambiare l'icona del mouse del giocatore in un LocalScript impostando la proprietà MouseIcon in UserInputService su un ID asset personalizzato di Roblox. Ad esempio, il seguente LocalScript cambia l'icona del mouse predefinita del giocatore in un cerchio con un punto blu al centro.


local UserInputService = game:GetService("UserInputService")
UserInputService.MouseIcon = "rbxassetid://3400146391"
© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.