Entrada de mouse y teclado

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Un gran porcentaje de las sesiones de Roblox se juegan en dispositivos con un mouse y teclado, por lo que es importante apoyar estas entradas al diseñar un juego para una audiencia amplia.

Para simplificar las entradas multiplataforma, incluyendo mouse/teclado, Roblox proporciona el Sistema de Acción de Entrada para definir acciones como "saltar", "correr" o "disparar" y configurar asignaciones para múltiples entradas de hardware que controlen esas acciones.

Roblox también admite la entrada general de mouse/teclado a través de eventos de UserInputService como InputBegan y InputEnded y métodos como IsKeyDown() para comprobar si una tecla en particular está presionada en un teclado.

Detección de tipo de entrada

En el desarrollo multiplataforma, es importante que determines y respondas al tipo de entrada PreferredInput que está utilizando un jugador, normalmente para asegurarte de que los elementos de UI como botones y menús en pantalla funcionen elegantemente y soporten la interacción a través de dispositivos.

Por ejemplo, una PC o laptop asume que el mouse/teclado es la entrada predeterminada, pero un jugador puede optar por conectar un gamepad bluetooth. En este caso, el mouse/teclado sigue siendo una entrada válida, pero puedes asumir que el jugador quiere cambiar al gamepad conectado como el tipo de entrada primario.

Consulta la detección de tipo de entrada para más información.

Entrada genérica de mouse/teclado

Más allá del Sistema de Acción de Entrada, puedes capturar entradas de mouse y teclado usando UserInputService. El siguiente LocalScript, cuando se coloca en StarterPlayerScripts, captura las fases de inicio y fin de las teclas y clics del mouse y imprime el resultado en la ventana de Output.

LocalScript - Salida de Tecla/Mouse Comenzó y Terminado

local UserInputService = game:GetService("UserInputService")
local function onInputBegan(inputObject, processedEvent)
-- Regresar si otro script ya ha procesado la entrada
if processedEvent then return end
print(inputObject.KeyCode.Name, "¡comenzó!", inputObject.Position)
end
local function onInputEnded(inputObject, processedEvent)
-- Regresar si otro script ya ha procesado la entrada
if processedEvent then return end
print(inputObject.KeyCode.Name, "¡terminó!", inputObject.Position)
end
UserInputService.InputBegan:Connect(onInputBegan)
UserInputService.InputEnded:Connect(onInputEnded)

Icono del mouse

Puedes personalizar la apariencia y el comportamiento del icono del mouse de un jugador dentro de tu juego para crear un estilo cohesivo a través de todos tus elementos de UI. Esto incluye cambiar temporalmente el icono del mouse del jugador en circunstancias específicas, como al pasar el mouse sobre un botón.

Puedes cambiar el icono del mouse del jugador en un LocalScript configurando la propiedad MouseIcon en UserInputService a un ID de activo de Roblox personalizado. Por ejemplo, el siguiente LocalScript cambia el icono por defecto del mouse del jugador a un círculo con un punto azul en el medio.


local UserInputService = game:GetService("UserInputService")
UserInputService.MouseIcon = "rbxassetid://3400146391"
©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.