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())