Pular para o conteúdo principal

! Pressionar e soltar um botão do controle (:press)

Este método está disponível somente a partir da versão 20260805.

Declaração​

status, mensagem_de_erro = objeto_do_controle:press(botao [, tempo_de_pressionamento ])

Parâmetros​

  • botão
    Inteiro ou texto: consulte os números e nomes compatíveis em Descrição do parâmetro de botão
  • tempo de pressionamento
    Número finito não negativo, opcional: quantidade de milissegundos em que o botão permanece pressionado; o padrão é 60

Valores de retorno​

  • status
    Booleano: retorna true quando pressionar e soltar o botão é bem-sucedido; retorna false se o dispositivo estiver desconectado, ocupado, se o botão já estiver pressionado ou se o envio da entrada falhar
  • mensagem de erro
    Texto: mensagem de erro quando a operação falha

Descrição​

  • Pressiona e solta somente o botão de destino, sem alterar outros botões já pressionados.
  • A chamada falha quando o botão de destino já está pressionado.
  • Enquanto press aguarda o tempo de pressionamento, cede a thread de execução Lua atual; nesse período, outras operações no mesmo controle retornam false, "hardware gamepad is busy", enquanto objetos de controle diferentes continuam operando de forma independente.
  • Tipos de parâmetro inválidos, nomes desconhecidos e valores fora do intervalo são lançados como erros de parâmetro Lua.

Exemplo​

local pad = assert(gamepad.connect())

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