Entrada do mouse e teclado

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Uma grande porcentagem das sessões do Roblox é jogada em dispositivos com mouse e teclado, por isso é importante suportar essas entradas ao projetar um jogo para um amplo público.

Para simplificar as entradas multiplataforma, incluindo mouse/teclado, o Roblox fornece o Sistema de Ação de Entrada para definir ações como "pular", "correr" ou "disparar" e configurar vinculações para múltiplas entradas de hardware que dirigem essas ações.

O Roblox também suporta entradas gerais de mouse/teclado através de eventos de UserInputService como InputBegan e InputEnded e métodos como IsKeyDown() para verificar se uma tecla específica está pressionada em um teclado.

Detecção do tipo de entrada

No desenvolvimento multiplataforma, é importante que você determine e responda ao tipo de entrada PreferredInput que um jogador está usando, normalmente para garantir que os elementos de UI como botões e menus na tela funcionem de forma elegante e suportem interação entre dispositivos.

Por exemplo, um PC ou laptop assume que o mouse/teclado é a entrada padrão, mas um jogador pode optar por conectar um controle bluetooth. Nesse caso, o mouse/teclado continua sendo uma entrada válida, mas você pode presumir que o jogador deseja mudar para o controle conectado como o tipo de entrada primário.

Consulte a detecção do tipo de entrada para mais informações.

Entrada genérica de mouse/teclado

Além do Sistema de Ação de Entrada, você pode capturar as entradas de mouse e teclado usando UserInputService. O seguinte LocalScript, quando colocado em StarterPlayerScripts, captura as fases de início e fim de teclas e cliques de mouse e imprime o resultado na janela de Saída.

LocalScript - Saída de Tecla/Mouse Começou e Terminou

local UserInputService = game:GetService("UserInputService")
local function onInputBegan(inputObject, processedEvent)
-- Retorna se outro script já processou a entrada
if processedEvent then return end
print(inputObject.KeyCode.Name, "começou!", inputObject.Position)
end
local function onInputEnded(inputObject, processedEvent)
-- Retorna se outro script já processou a entrada
if processedEvent then return end
print(inputObject.KeyCode.Name, "terminou!", inputObject.Position)
end
UserInputService.InputBegan:Connect(onInputBegan)
UserInputService.InputEnded:Connect(onInputEnded)

Ícone do mouse

Você pode personalizar a aparência e o comportamento do ícone do mouse de um jogador dentro do seu jogo para criar um estilo coeso entre todos os seus elementos de UI. Isso inclui mudar temporariamente o ícone do mouse do jogador em circunstâncias específicas, como ao passar o mouse sobre um botão.

Você pode mudar o ícone do mouse do jogador em um LocalScript definindo a propriedade MouseIcon em UserInputService para um ID de ativo do Roblox personalizado. Por exemplo, o seguinte LocalScript muda o ícone padrão do mouse do jogador para um círculo com um ponto azul no meio.


local UserInputService = game:GetService("UserInputService")
UserInputService.MouseIcon = "rbxassetid://3400146391"
©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.