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.