Entrada móvil

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

La mayoría de las sesiones de Roblox se juegan en dispositivos móviles, por lo que es importante considerar la orientación del dispositivo y otros factores multiplataforma al diseñar un juego para una amplia audiencia.

Para simplificar las entradas multiplataforma, incluida la interacción del jugador con botones virtuales, Roblox proporciona el Sistema de Acción de Entrada para definir acciones como "saltar", "correr" o "disparar" y configurar vinculaciones para múltiples entradas de hardware que impulsen esas acciones.

Roblox también admite características móviles nativas como retroalimentación háptica, gestos táctiles como TouchSwipe y TouchPinch, o funcionalidad de acelerómetro y giroscopio en dispositivos AccelerometerEnabled y GyroscopeEnabled.

Detección del tipo de entrada

En el desarrollo multiplataforma, es importante que determines y respondas al tipo de entrada PreferredInput que un jugador está utilizando, normalmente para garantizar que los elementos de UI como los botones y menús en pantalla funcionen de manera elegante y admitan la interacción entre dispositivos.

Por ejemplo, un dispositivo con pantalla táctil asume que el toque es la entrada predeterminada y que pueden aparecer botones táctiles para las acciones, pero un jugador puede optar por conectar un gamepad bluetooth. En este caso, el toque sigue siendo una entrada válida, pero puedes asumir que el jugador desea cambiar al gamepad conectado como el tipo de entrada primario y posiblemente usar el toque como una entrada de respaldo para la UI en pantalla.

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

Orientación del dispositivo

Por defecto, los juegos de Roblox se ejecutan en modo horizontal, permitiendo que el juego cambie entre "izquierda" y "derecha" horizontal a medida que el dispositivo del jugador rota. Sin embargo, los juegos pueden fijarse a una orientación particular si así lo desean.

Hay cinco modos de orientación diferentes, incluidos dos modos basados en sensores y tres modos bloqueados.¹ Cada uno de estos puede configurarse como la orientación predeterminada a través de StarterGui.ScreenOrientation, accesible a través de la ventana de Propiedades de Studio.

Modos de Sensor
LandscapeSensorLa configuración predeterminada de Roblox en la que el juego siempre aparece en modo horizontal (sin modo vertical) y el dispositivo detecta su orientación física para asegurar que la vista del juego siempre esté orientada hacia arriba.
SensorEl dispositivo detecta su orientación física para asegurar que la vista del juego siempre esté orientada hacia arriba, cambiando entre modos horizontal y vertical según sea necesario.
Modos Bloqueados
LandscapeLeftEn dispositivos con una barra de inicio/navegación virtual, su región táctil está en la parte inferior de la pantalla. En dispositivos con un botón de inicio físico, el botón de inicio está a la izquierda de la pantalla.
LandscapeRightEn dispositivos con una barra de inicio/navegación virtual, su región táctil está en la parte inferior de la pantalla. En dispositivos con un botón de inicio físico, el botón de inicio está a la derecha de la pantalla.
PortraitEn dispositivos con una barra de inicio/navegación virtual, su región táctil está en la parte inferior de la pantalla. En dispositivos con un botón de inicio físico, el botón de inicio está debajo de la pantalla.
¹ Roblox no incluye un modo "vertical al revés" ya que muchos dispositivos no admiten nativamente esa orientación


Más allá de la propiedad predeterminada StarterGui.ScreenOrientation, puedes cambiar la orientación durante el juego a través de PlayerGui.ScreenOrientation. Esto puede ser útil cuando un juego necesita imponer una orientación, como bloquear la vista en Portrait para un minijuego.

El siguiente código en un LocalScript establece la orientación de la pantalla a vertical después de una breve demora:

LocalScript - Cambiar la orientación de la pantalla a vertical

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local playerGui = player.PlayerGui
task.wait(5)
playerGui.ScreenOrientation = Enum.ScreenOrientation.Portrait

Finalmente, puedes detectar cambios en la orientación de la pantalla durante el juego escuchando los cambios de valor en la propiedad PlayerGui.CurrentScreenOrientation.

LocalScript - Detectar cambios en la orientación de la pantalla

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local playerGui = player.PlayerGui
local function onOrientationChange()
print("Orientación cambiada a", playerGui.ScreenOrientation)
end
playerGui:GetPropertyChangedSignal("ScreenOrientation"):Connect(onOrientationChange)

Retroalimentación háptica

La mayoría de los dispositivos móviles tienen motores incorporados para proporcionar retroalimentación háptica. Agregar vibraciones y temblores puede mejorar enormemente la experiencia del jugador y proporcionar retroalimentación sutil más allá de los visuales o el audio.

Roblox admite hápticas para dispositivos capaces de hápticas, incluidos la mayoría de los iPhone, Pixel y dispositivos Samsung Galaxy. La retroalimentación háptica se gestiona a través de instancias de HapticEffect que pueden configurarse a un Type específico como GameplayCollision o UIClick.

Una vez que se establece un HapticEffect, puedes iniciarlo a través del método Play(), por ejemplo:


local Workspace = game:GetService("Workspace")
local effect = Instance.new("HapticEffect")
effect.Type = Enum.HapticEffectType.GameplayExplosion
effect.Parent = Workspace
-- Reproducir el efecto háptico
effect:Play()
©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.