imagesearch loop até outro imagesearch loop

Tire suas dúvidas sobre programação em AutoHotkey

Moderator: Gio

Telar
Posts: 3
Joined: 12 Jan 2022, 11:59

imagesearch loop até outro imagesearch loop

Post by Telar » 12 Jan 2022, 12:08

Olá, gostaria de um script que rodasse um loop procurando uma imagem em um local da tela (e clique nessa imagem) e que parasse este loop quando a imagem estiver em um outro local determinado. Como posso fazer isso?

User avatar
Gio
Posts: 1247
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: imagesearch loop até outro imagesearch loop

Post by Gio » 12 Jan 2022, 16:33

Bom dia Telar.

Pelo que entendi você quer admininstrar uma resposta condicionada à posição da imagem na tela. O comando ImageSearch retorna a posição onde a imagem foi encontrada, então tudo que você deve fazer é criar condicionais (If) que testem matematicamente as coordenadas da imagem encontrada em ambos os casos.

Por exemplo, suponha que a área onde a imagem deva aparecer seja a metade superior de uma tela 1920x1080. Neste caso, você rodaria o ImageSearch, e depois testaria se OutputVarX é um número entre 1 e 940 e se OutputVarY é um número entre 1 e 540. Se ambos os testes matemáticos forem positivos, então a imagem está necessariamente localizada (pelo menos parcialmente) na metade superior da tela.

Logo em seguida, em um segundo bloco condicionado (else if), você poderia então testar matematicamente se OutputVarX é um número entre 941 e 1920 e se OutputVarY é um número entre 541 e 1080. Se ambos os testes forem positivos, então a imagem está (totalmente) na parte inferior da tela.

Caso você queira ser mais específico e administrar casos como "a imagem tem que estar todinha na parte superior", é só deduzir a largura e o comprimento da imagem dos limites máximos de teste, visto que OutputVarX e OutputVarY são sempre a posição mais superior-esquerda onde a imagem foi localizada.

Post Reply

Return to “Ajuda e Suporte Geral”