Saltar al contenido principal

! Pulsar y soltar un botón del mando (:press)

Este método está disponible a partir de las versiones posteriores a 20260805

Declaración​

estado, mensaje_error = objeto_mando:press(boton [, tiempo_pulsado ])

Parámetros​

  • boton
    Tipo entero o texto; para los números y nombres compatibles, consulta Descripción del parámetro del botón
  • tiempo_pulsado
    Valor finito no negativo, opcional; cantidad de milisegundos que se mantiene pulsado el botón. El valor predeterminado es 60

Valores devueltos​

  • estado
    Tipo booleano; devuelve true si pulsar y soltar el botón tiene éxito y false si el dispositivo está desconectado u ocupado, el botón de destino ya está pulsado o falla el envío de la entrada
  • mensaje_error
    Tipo texto; mensaje de error cuando la operación falla

Descripción​

  • Solo pulsa y suelta el botón de destino; no cambia los demás botones que ya estén pulsados
  • La llamada falla si el botón de destino ya está pulsado
  • Mientras press espera durante el tiempo pulsado, cede el subproceso de ejecución de Lua actual. Durante ese periodo, las demás operaciones del mismo mando devuelven false, "hardware gamepad is busy"; los objetos de mando distintos siguen pudiendo funcionar de forma independiente
  • Los errores de tipo de parámetro, los nombres desconocidos y los valores fuera de rango se lanzan como errores de parámetro de Lua

Ejemplo​

local pad = assert(gamepad.connect())

assert(pad:press("a"))
assert(pad:press("menu"))
assert(pad:press(32))
assert(pad:disconnect())