! 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
pressespera durante el tiempo pulsado, cede el subproceso de ejecución de Lua actual. Durante ese periodo, las demás operaciones del mismo mando devuelvenfalse, "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())