[R] PixelSearch dans une boucle.

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Tekky
Niveau 1
Niveau 1
Messages : 7
Enregistré le : sam. 15 juin 2019 15:56
Status : Hors ligne

[R] PixelSearch dans une boucle.  

#1

Message par Tekky »

Bonjour.

Cela fais un petit moment que j'essaye de trouver une solution.. (Les explications de mon problème arrive après le code).
#include <Misc.au3>
WinActivate ("Chrome")
sleep(3000)
While 1
Local $aCoord = PixelSearch(836, 896, 900, 959, 0x6D4120, 10)
If Not @error Then
MouseClick ("Left", 949, 930) ; Click #1
Sleep (300)
MouseClick ("Left", 705, 302) ; Click #2
Sleep(300)
MouseClick ("Left", 807, 541) ; Click #3
Sleep(300)
MouseClick ("Left", 725, 619) ; Click #4
Sleep (1000)
EndIf
WEnd
Donc, voici mon code. Mon objectif est de trouver un pixel rechercher sur l'écran. Et quand il est trouver, de cliquer sur multiple coordonnées.
Mais quand j’exécute le programme, les cliques sur les coordonnées se font sans même avoir trouver le pixel rechercher.

Dans mon programme, je veut donc une condition (que je n'arrive pas a mettre évidement :lol: ), qui est "Si je trouve tel pixel (en utilisant la couleur, PixelSearch), je déclenche les MouseClick.


Quelqu'un aurait une solution s'il vous plait?

Merci d'avoir pris le temps de me lire :D
Modifié en dernier par Tekky le mar. 18 juin 2019 19:13, modifié 1 fois.
Tekky
Niveau 1
Niveau 1
Messages : 7
Enregistré le : sam. 15 juin 2019 15:56
Status : Hors ligne

Re: [..] PixelSearch dans une boucle.

#2

Message par Tekky »

J'ai trouver la solution après de longues heures d’essais.

Je la met ci-dessous pour ceux que sa intéresse, si quelqu'un trouve que le code n'est pas optimisé... Je prend toute remarque pouvant m'aider.
#include <Misc.au3>
HotKeySet("{ESCAPE}","quitter")
WinActivate ("Chrome")
sleep(50)

While 1
   PixelSearch(870, 904, 894, 921, 0x6D4120, 10, 1)
   If Not @error Then
      MouseClick ("Left", 949, 930) ; Click
      Sleep (300)
      MouseClick ("Left", 705, 302) ; Click
      Sleep (300)
      MouseClick ("Left", 807, 930) ; Click
      Sleep (300)
      MouseClick ("Left", 725, 619) ; Click
      Sleep (1000)
      If @error Then
         MsgBox ( 1, "Error", "Une erreur est survenue")
      EndIf
   EndIf
WEnd


Func quitter()
   exit
EndFunc

 
Voila... Bonne journée.
Répondre