Entrada

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

Todo jogo precisa receber entradas do usuário para que os jogadores interajam e vejam seu ambiente. O Roblox suporta quase todas as formas de entrada, incluindo mouse/teclado, toque, controles e VR.

Entrada multiplataforma

O Roblox é intrinsecamente multiplataforma, pois os jogadores podem descobrir e ingressar em jogos em seus telefones ou tablets, e depois continuar de onde pararam em seus PCs ou consoles. A entrada é especialmente importante como parte do seu plano de desenvolvimento multiplataforma.

Para simplificar esse processo, o Roblox fornece o Sistema de Ação de Entrada para definir ações como "pular", "correr" ou "atirar" e configurar vinculações para múltiplas entradas de hardware que acionam essas ações. Isso o libera de pensar em todos os aspectos técnicos das entradas de hardware e permite que você defina simplesmente quais entradas realizam quais ações.

Detecção de tipo de entrada

No desenvolvimento multiplataforma, é importante que você determine e responda ao tipo de entrada primário que um jogador está usando, normalmente para garantir que os elementos de UI como botões na tela e menus funcionem elegantemente em diferentes dispositivos.

Por exemplo, um dispositivo com suporte a toque assume que o toque é a entrada padrão e que botões de toque podem aparecer para ações, mas se um jogador conecta um teclado/mouse ou controle bluetooth adicional, você pode assumir que ele deseja mudar para esse tipo de entrada como primário e possivelmente usar o toque como uma entrada de backup para a UI na tela. A propriedade somente leitura UserInputService.PreferredInput é uma maneira conveniente de testar e se adaptar a múltiplos tipos de entrada em diferentes tipos de dispositivos, com base no comportamento antecipado do jogador.

O valor de PreferredInput muda com base nas entradas de dispositivos internas e na interação mais recente do jogador com um controle ou teclado/mouse conectado. Exemplos incluem:

Cenário do Mundo RealPreferredInput
O jogador está usando um telefone sem outros dispositivos de entrada conectados; sem possibilidade de mudança de tipo de entrada.Touch
O jogador está usando um dispositivo móvel com um teclado e mouse bluetooth conectados, mas sem controle conectado.KeyboardAndMouse
O jogador está usando um tablet com um controle bluetooth conectado, mas sem teclado ou mouse conectados.Gamepad
O jogador está usando um Xbox ou PlayStation com um teclado e mouse bluetooth conectados e interagiu mais recentemente com o teclado ou mouse.KeyboardAndMouse
O jogador está em um PC com Windows ou Mac com um controle conectado e interagiu mais recentemente com o controle.Gamepad

O seguinte LocalScript é um template para detectar inicialmente a entrada preferida e responder a mudanças durante o jogo.

Detecção de PreferredInput

local UserInputService = game:GetService("UserInputService")
local function preferredInputChanged()
local preferredInput = UserInputService.PreferredInput
if preferredInput == Enum.PreferredInput.Touch then
-- O jogador está em um dispositivo com toque habilitado sem outros tipos de entrada disponíveis/conectados
print("Toque")
elseif preferredInput == Enum.PreferredInput.Gamepad then
-- O jogador conectou ou interagiu mais recentemente com um controle
print("Controle")
elseif preferredInput == Enum.PreferredInput.KeyboardAndMouse then
-- O jogador conectou ou interagiu mais recentemente com um teclado ou mouse
print("TecladoEMouse")
end
end
preferredInputChanged()
UserInputService:GetPropertyChangedSignal("PreferredInput"):Connect(function()
preferredInputChanged()
end)

Vinculações padrão

O Roblox fornece vinculações de entrada padrão para movimento, controle de câmera e interação básica com o ambiente — os jogadores do Roblox estão familiarizados com esses controles, portanto, você deve sobrescrevê-los apenas em casos específicos. Também note que as entradas reservadas não podem ser sobrescritas e sempre funcionarão com seu propósito pretendido.

AçãoMouse/TecladoGamepadToque
Abrir menu do RobloxEscIniciar botão (ButtonStart)N/A
Console do DesenvolvedorF9N/AN/A
Modo tela cheia (Windows)
Mostrar desktop (Mac)
F11N/AN/A
Gravar vídeo (Windows)F12N/AN/A
Capturar telaPrintScreenN/AN/A
©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.