Pular para o conteúdo principal

Exemplos de código de touch

Exemplo

-- pode ser escrito assim:
touch.on(306, 300):step_len(2):step_delay(0):move(350, 800):msleep(1000):off()
--
-- o exemplo acima também pode ser escrito assim:
touch.on(306, 300) -- simula o contato do dedo no ponto 306,300
:step_len(2) -- define o passo de movimento como 2
:step_delay(0) -- define o atraso de cada passo como 0
:move(350, 800) -- move até o ponto 350,800 usando os dois parâmetros acima
:msleep(1000) -- aguarda 1000 milissegundos (ou seja, 1 segundo)
:off() -- retira o dedo da tela
--
-- ou assim:
local te = touch.on(306,300)
te:step_len(2)
te:step_delay(0)
te:move(350, 800)
te:msleep(1000)
te:off()
--
-- normalmente, o código de deslizamento pode ser escrito assim
touch.on(306, 300)
:move(350, 800)
:msleep(1000)
:off()
--
-- equivalente a
touch.on(306, 300):move(350, 800):msleep(1000):off()
--
-- também pode ser usado assim para simular um toque breve na tela
touch.on(306, 300):msleep(30):off()
--

Técnica para deslizamento rápido e preciso

-- em geral, a forma mais estável de deslizar de modo rápido e preciso é:
-- deslizar rapidamente um pouco além do alvo e depois voltar até ele
touch.on(125, 2000) -- pressiona na coordenada inicial
:step_len(10) -- aumenta o passo para deslizar rapidamente
:step_delay(1) -- define o atraso do passo como 1 ms para deslizar rapidamente
:move(125, 505 - 20) -- desliza primeiro um pouco além do alvo (neste exemplo, o movimento é para cima, então y é menor)
:step_len(1) -- reduz o passo ao voltar para diminuir a inércia
:step_delay(20) -- reduz a velocidade adequadamente ao voltar para estabilizar a trajetória
:move(125, 505) -- volta até a posição do alvo
:delay(200) -- aguarda um período antes de retirar o dedo
:off() -- retira o dedo
  • O exemplo acima é para “deslizar para cima”; para deslizar para baixo, para a esquerda ou para a direita, substitua a “posição além do alvo” por uma posição ligeiramente além do alvo na direção correspondente.
  • Quando o movimento não envolve a borda da tela, em geral basta deslizar primeiro além do alvo e depois voltar até ele para obter um deslizamento rápido, preciso e sem inércia.
  • Se a “posição além do alvo” ficar fora da tela, essa etapa será inválida; nesse caso, deslize rapidamente até a borda, volte um pouco e, por fim, deslize lentamente até o alvo.
  • Mesmo quando o alvo está exatamente na borda da tela, recomenda-se deslizar primeiro até a borda, voltar um pouco e depois retornar lentamente ao alvo; isso costuma ser mais estável do que parar diretamente na borda.