Publicado em
Crie sua Primeira Automação no EmuloAgent
Crie sua primeira macro no EmuloAgent com ações, regiões de detecção e condições de imagem, texto, cor e grupos E/OU.
Neste episódio criamos uma primeira automação do zero. O plano é uma macro que desbloqueia a tela, abre um app de treino e resolve os desafios dele sozinha: tocando quando um botão fica verde, tocando quando a tela mostra um certo número, e coletando moedas. O vídeo tem cerca de nove minutos. Este post é o companheiro em texto, com o raciocínio por trás de cada escolha para você repetir na sua própria tela.
O ciclo: ação, condição, região, teste
O construtor todo se resume a um ciclo curto. Você adiciona uma ação, dá uma condição a ela, define a região de detecção (onde a condição procura) e aperta Test. Quando o teste passa, você vai para o próximo passo. A janela é dividida: à esquerda, um espelho ao vivo do emulador mantido em sincronia pelo botão Live, em vermelho; à direita, os passos que você empilha. Antes de tudo, você escolhe o perfil, para o construtor saber qual tela observar.
Passo 1: desbloquear com um toque e uma condição de imagem
O primeiro passo desbloqueia a tela. Você adiciona um toque simples e marca o ponto na tela ao vivo. Um toque às cegas é frágil, porque a tela nem sempre está onde você espera. Então o construtor pergunta se você quer uma condição, e aqui está o coração da ferramenta. Uma condição Image appearance guarda um pequeno recorte e só toca quando aquela imagem aparece na tela. Você desenha a área de busca bem rente ao ícone da tela de bloqueio, define para disparar quando a imagem estiver Visible e pode ajustar o quanto ela precisa combinar com o Threshold. Salve, teste com Test, e a tela desbloqueia.
Passo 2: abrir o app e apertar a região
O passo dois abre o próprio app com outro toque mais uma condição de imagem, agora no ícone do app. Quanto mais justa você desenha a caixa em volta do ícone, mais rápida e certeira a detecção, porque o agente sabe exatamente onde olhar. Clique com o botão direito na condição para mais opções: recortar de novo a imagem guardada ou mudar o tamanho da área de busca quando quiser. Vale criar esse hábito cedo. Uma região justa é a diferença entre uma detecção que se sustenta e uma que se perde.
Passo 3: tocar quando fica verde (cor)
Agora o agente reage ao que está na tela. O desafio é tocar num botão só quando ele fica verde. Você adiciona um toque e dá a ele uma condição Color. O app pede para você clicar na cor exata que quer detectar, então analisa uma pequena área ao redor do ponto, mais ou menos quarenta por quarenta pixels, e a guarda como a cor de referência. A Tolerance é a margem: zero exige a cor exata, um número maior aceita tons parecidos. Se aquela áreazinha for pouca, o Adjust region amplia a busca. O truque mostrado no vídeo: espere o botão ficar verde de verdade antes de capturar a cor, para a referência ser o tom que você realmente quer.
Passo 4: tocar quando aparece o 7 (texto)
O próximo desafio é tocar só quando um certo número aparece. Para isso você usa uma condição Text, que lê a tela com OCR. Você enquadra o número e aperta Detect text; ele lê um sete e informa o quanto está seguro. O ajuste importante é o Mode. Equals dispara só naquele valor exato; Contains dispara em qualquer texto que o inclua; também há Not equal e uma opção de padrão. Dá para exigir uma confiança mínima, para um palpite embaçado não valer. Ajeite a área de detecção para ficar bem em cima do número, e como o número fica mudando, a macro apenas espera o sete e então toca.
Combinar condições: All true
Tarefas reais costumam precisar de mais de uma coisa verdadeira ao mesmo tempo. A primeira forma de combinar condições é empilhá-las no mesmo grupo. Você adiciona um toque no botão Collect e dá a ele duas condições em vez de uma: uma imagem (a estrela precisa estar aparecendo) e uma cor que ele também deve enxergar. A etiqueta acima delas diz All true, o que significa que o toque só dispara quando todas as condições são verdadeiras ao mesmo tempo. É a versão rígida, em que tudo precisa se encaixar.
Adicionar um grupo: Any true
A segunda forma é agrupar. Às vezes você não quer tudo verdadeiro, você quer opções. Você adiciona outro toque no Collect e começa com uma condição, o botão verde, que cai num grupo marcado como All true. Quando você adiciona um tipo diferente de condição, o app abre um grupo novinho para ela, marcado como Any true, onde basta uma condição de dentro ser verdadeira. Assim, um grupo pode exigir o verde enquanto um segundo grupo aceita o número sete ou a estrela, qualquer um dos dois. Cada grupo tem sua etiqueta, All true ou Any true, e um clique alterna entre elas. É assim que você define exatamente quando um toque deve acontecer: umas coisas obrigatórias, outras opcionais.
Rodar ao vivo
Com a lógica salva, você vai para a tela de Automações, aponta a macro para o seu perfil e manda executar. Daí é só assistir. O EmuloAgent desbloqueia a tela, abre o app, toca no botão no instante em que fica verde, espera o sete e toca, e coleta de novo e de novo enquanto as moedas se acumulam. Cada acerto é a visão computacional que você configurou, agindo quadro após quadro. É esse o ciclo inteiro: uma ação, uma condição, a área de busca certa e um teste. Comece simples e vá somando condições e grupos conforme suas automações crescem.
Continue
Chegou agora? Comece pela visão geral do app e por como funcionam os perfis. Para praticar a mesma macro do vídeo, abra o playground e depois baixe o EmuloAgent para montá-la no seu próprio emulador.
Perguntas frequentes
- Preciso saber programar para montar uma macro?
- Não. Você monta a macro de forma visual: adiciona uma ação, marca no espelho ao vivo do emulador e dá uma condição a ela. Não há programação.
- O que é a região de detecção?
- É a área da tela onde uma condição procura. Desenhá-la bem justa em volta do alvo deixa a detecção mais rápida e confiável, porque o agente sabe exatamente onde olhar.
- Qual a diferença entre All true e Any true?
- Dentro de um grupo All true, todas as condições precisam ser verdadeiras ao mesmo tempo. Dentro de um grupo Any true, basta uma condição ser verdadeira. Você pode combinar um grupo obrigatório com um opcional.
- Onde eu posso praticar sem mexer num jogo de verdade?
- O vídeo usa o FakeApp no playground do Emulo, um app de teste gratuito feito para exercitar toques, condições e detecção. Você pode abri-lo e montar a mesma macro.