Input en mobile
Cómo se asignan las input actions al touch en el cliente mobile de Decentraland.
El sistema de entrada de Decentraland está diseñado para ser independiente del dispositivo. El mismo InputAction enum que el SDK expone en desktop también se enruta desde los controles en pantalla en mobile, por lo que la mayoría de las Scenes funcionan sin cambios. Sin embargo, hay algunas reglas y detalles que conviene conocer cuando estás creando para touch.
Para ver el modelo completo de entrada, consulta Click events. Esta página se centra en lo específico de mobile.
A qué se mapea touch
Cada InputAction que existe en desktop también está disponible en el cliente de mobile: los controles en pantalla simplemente enrutan touch a las mismas entradas del SDK. Esto significa que cualquier scene que dependa de los InputAction valores estándar funcionará en mobile sin necesidad de ajustes.
Los controles en pantalla se mapean de la siguiente manera:
Joystick en pantalla — controla
IA_FORWARD/IA_BACKWARD/IA_LEFT/IA_RIGHTy el movimiento del avatar.Botón de interacción (abajo a la derecha) — activa
IA_POINTER(el botón izquierdo del mouse en desktop) sobre aquello a lo que el player está apuntando.Botón E — activa
IA_PRIMARY(laEtecla en desktop).Botón F — activa
IA_SECONDARY(laFtecla en desktop).Botón de salto — activa
IA_JUMP(laSpacetecla en desktop). Este es el botón más grande del HUD y siempre es fácil de alcanzar.Botones 1 / 2 / 3 / 4 — activan
IA_ACTION_3/IA_ACTION_4/IA_ACTION_5/IA_ACTION_6respectivamente. Estos se encuentran detrás de un menú secundario (ver abajo).Arrastre de cámara — rota la cámara; no se expone como un
InputAction.
Entradas que evitar para acciones clave en mobile
Todos los InputAction valores son accesibles en mobile, pero IA_ACTION_3–IA_ACTION_6 (la 1/2/3/4 botones) están ocultos detrás de un menú secundario y no son fáciles de alcanzar durante el gameplay. Si tu scene los usa como acciones principales, los players de mobile no podrán activarlos cómodamente.
Evita vincular acciones clave a:
IA_ACTION_3— la1tecla en desktop /1botón en mobileIA_ACTION_4— la2tecla en desktop /2botón en mobileIA_ACTION_5— la3tecla en desktop /3botón en mobileIA_ACTION_6— la4tecla en desktop /4botón en mobile
En su lugar, preferí:
IA_POINTERpara el botón principal de toque / interacciónIA_PRIMARYpara la acción del botón EIA_SECONDARYpara la acción del botón FIA_JUMPcuando una acción se mapea de forma natural al salto (es el botón más grande y más accesible del HUD de mobile)Disparadores basados en proximidad (ver Proximity Events) cuando una acción deba activarse automáticamente al acercarse el player a una entity
Bloqueo del cursor
El PointerLock component es un concepto del cliente de desktop (cursor del mouse bloqueado vs. desbloqueado). No se aplica al touch en mobile y puedes dejarlo sin problema en tu scene: allí no tiene ningún efecto.
Relacionado
Última actualización