{Autoit} Condition pixelsearch


Statut
La discussion n'est pas ouverte à d'autres réponses

Turki1923

Membre
13 Avr. 2013
12
0
201
Bonjour,

Voici une partie de mon code :

$otoxp = PixelSearch (232,111,440,214, 0x000400)

Ce que je voudrais faire, c'est créer une condition avec ce pixelsearch.

Lui dire d'appuyer sur la touche gauche lorsqu'il y a la couleur 0x000400 dans le rectangle indiqué.

Exemple en Français :

Si il y a la couleur 0x000400 dans le rectangle (232,111,440,215) alors appuie sur la flèche gauche
Fin de si


Voila, j'espère que je me suis bien fait comprendre.

Merci d'avance pour vos réponses.
 

ragnarock

Membre actif
22 Mars 2010
195
0
917
Salut,

1. Tu vas dans Scite
2. tu mets le curseur sur Pixelsearch
3. t'appuies sur F1
4. y'a l'aide autoit qui apparait
5. tu lis l'aide et regardes l'exemple
6. tu réponds tout seul à ta question

Voilà voilà^^
 

Turki1923

Membre
13 Avr. 2013
12
0
201
Merci d'avoir répondu

Y a rien qui s'affiche et je suppose que le tutoriel est en Anglais ? Je ne parle pas très bien l'Anglais.

Tout ce que je veux c'est un petit exemple qui m'aidera un peu.
 

Turki1923

Membre
13 Avr. 2013
12
0
201
Je ne vois pas pourquoi tu insistes à me donner des bases Anglaise au lieu de m'éxpliquer en 2, 3 phrases Français ce que je dois faire.

Bref, merci quand même
 

ragnarock

Membre actif
22 Mars 2010
195
0
917
Rofl, tout ce que j'ai fait c'est te passer un link avec un exemple..

Et aussi, sans bases en anglais, bonne chance pour la prog
 

Turki1923

Membre
13 Avr. 2013
12
0
201
Je l'ai déjà vus ce lien avant d'ouvrir un sujet.

Bon je vais tout faire étape par étape.

Mon code de base :

Code:
While 1 
    
   
 $otoxp = PixelSearch (232,111,440,214, 0x000400)
 
	 
WEnd
Ce que j'ai pour m'aider :

Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!

un exemple :

Code:
; Find a pure red pixel in the range 0,0-20,300
[COLOR="Red"];je vais essayé de traduire "Cherche un pixel rouge la ou je demande de chercher" (bon c'est pas vraiment la traduction mais en gros sa doit être ça);[/COLOR]




Local $coord = PixelSearch(0, 0, 20, 300, 0xFF0000) [COLOR="red"];ok la il crée le pixelsearch[/COLOR]

If Not @error Then [COLOR="red"];la ça se complique déjà, d'ou vient le @error ?[/COLOR]
    MsgBox(0, "X and Y are:", $coord[0] & "," & $coord[1]) [COLOR="red"];et la il doit donner les coordonées de la couleur cherché et trouvé[/COLOR]
EndIf
Donc, à partir de ça je suis censé pouvoir arriver à mon but.

Voici ce que j'ai réussi à faire :

Code:
While 1 
    
   
$otoxp = PixelSearch (180,150,466,230, 0x000400)
If Not @error Then
   Send("{up down}")


Else 
   
   Send("{up up}")
EndIf

WEnd
Donc avec ce code, il ne bouge pas même si la couleur se trouve dans le rectangle, le pire c'est qu'il m'empêche même d'appuyer sur la flèche haut, il avance d'un pa puis il stop.
 

ragnarock

Membre actif
22 Mars 2010
195
0
917
En gros, si la fonction pixelsearch n'a pas marché (CàD n'a pas trouvé un pixel de la bonne couleur), ça met la variable @error à 1 (c'est une variable globale, qui les fonctions utilisent pour indiquer si tout c'est bien passé. Dans l'aide des fonction t'as à quoi correspondent la valeur. là 1 c'est pour "Sets @error to 1 if color is not found.")

le "If Not @error Then" vérifie donc si le pixelsearch a marché.

Et ton code est juste. Tu veux bien garder la touche Up enfoncée tant qu'il y a la couleur, puis la relâcher quand y'a plus la couleur ?
 
Dernière édition:

Turki1923

Membre
13 Avr. 2013
12
0
201
Je connais quelques mots, assez pour faire de la programmation.

J'ai plusieurs amis qui gèrent pas mal la programmation sans autant parler Anglais.
 

7centdu75

Membre
24 Déc. 2012
49
0
211
28
Je ne vois pas pourquoi tu insistes à me donner des bases Anglaise au lieu de m'éxpliquer en 2, 3 phrases Français ce que je dois faire.

Bref, merci quand même
Parce que parler anglais (au moins technique) lorsque l'on fait de la programmation c'est une base. Toute les librairies sont en anglais, alors pendant que tu veut faire de petit projets en auto-it ça va aller. Mais quand tu vas devoir chercher une fonction dans une grande librairie comme Qt (Si tu fait du C++), tu vas bloquer.
 

drov

Membre reconnu
27 Fév. 2012
1,426
0
341
L'anglais viendra par la suite j'ai envie de dire...

Rien ne l’empêche de programmer comme ça en bon français mais à un moment donné il va se retrouver coincé avec des librairies anglaises ( rares sont les udf en français et même ceux qui les font qui sont français écrivent en anglais pour que le plus de gens puissent en profiter) il va finir par apprendre qu'il le veuille ou non.

Pour info la doc d'autoit à été partiellement traduite en fr tu devrais pouvoir la lire.
 

drov

Membre reconnu
27 Fév. 2012
1,426
0
341
Argh il y a tellement peu de topic que je me rends pas compte quand je répond à 5 topic d'aide je remonte loin super vite
 
Statut
La discussion n'est pas ouverte à d'autres réponses