[R] Arrèter une action pour en faire une autre
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Arrèter une action pour en faire une autre
bonjour,
voila je m'explique: si par exemple l'écran est constitué d'un damier rouge et que la souris clique sur chaque case et que d'un coup une case bleu apparaisse, comment faire pour que la souris arrete de cliquer sur les case rouge et qu'elle clique sur la bleu???
voila je m'explique: si par exemple l'écran est constitué d'un damier rouge et que la souris clique sur chaque case et que d'un coup une case bleu apparaisse, comment faire pour que la souris arrete de cliquer sur les case rouge et qu'elle clique sur la bleu???
-
- Niveau 4
- Messages : 65
- Enregistré le : sam. 22 déc. 2007 15:46
- Status : Hors ligne
Re: arreter une action pour en faire une autre
salut
je suppose que tu as une boucle qui va cliquer sur chaque case rouge.
à chaque fois que ta boucle va cliquer sur une case rouge, tu rajoutes un If vérifiant si il n'y a pas une case bleue qui est apparue, avec PixelSearch() par exemple
si la case bleue est apparue, tu cliques dessus
si tu ne vois pas comment faire, postes ton code, je pourrais être plus précis
je suppose que tu as une boucle qui va cliquer sur chaque case rouge.
à chaque fois que ta boucle va cliquer sur une case rouge, tu rajoutes un If vérifiant si il n'y a pas une case bleue qui est apparue, avec PixelSearch() par exemple
si la case bleue est apparue, tu cliques dessus
si tu ne vois pas comment faire, postes ton code, je pourrais être plus précis

Re: arreter une action pour en faire une autre
Oui soit plus précis stp ^^
Code : Tout sélectionner
HotKeySet("{Esc}", "Quitter")
For $i=0 to 250 step 1
$coord = PixelSearch( 50, 50, 960, 575, 0x59564D, 0)
MouseClick( "left", $coord[0], $coord[1], 1, 30)
if @error=1 Then Exit 1
MouseClick( "left", $coord[0]+30, $coord[1]+30, 1, 30)
Sleep(4000)
Next
Func Quitter()
Exit 0
EndFunc
-
- Niveau 4
- Messages : 65
- Enregistré le : sam. 22 déc. 2007 15:46
- Status : Hors ligne
Re: arreter une action pour en faire une autre
voilà ce à quoi je pensais
adapte en fonction de ce que tu veux exactement
adapte en fonction de ce que tu veux exactement

Code : Tout sélectionner
For $i=0 to 250 step 1
$bleue = PixelSearch( 50, 50, 960, 575, bleu, 0)
If Not @error Then;si il a trouvé la couleur bleue :
MouseClick( "left", $bleue[0], $bleue[1],1,10) ;il clique dessus
ExitLoop ;il sort de la boucle (je ne sais pas si c'est ce que tu veux)
EndIf
$coord = PixelSearch( 50, 50, 960, 575, 0x59564D, 0)
MouseClick( "left", $coord[0], $coord[1], 1, 30)
if @error=1 Then Exit 1
MouseClick( "left", $coord[0]+30, $coord[1]+30, 1, 30)
Sleep(4000)
Next
;ici la suite du script, une fois qu'il a trouvé la couleur bleue et que la boucle for est quittée
Re: arreter une action pour en faire une autre
mici c'est cool je vais faire quelques modif car ce n'est pas aussi simple
je reviendrait me plaindre si sa ne marche pas x).

Re: [..] Arreter une action pour en faire une autre
mici j'ais bien avansé reste 2 problemes :s alors le 1er c'est que je reprend l'exemple imaginons la case bleue ce déblace donc la sours clique sur lendroit ou elle se trouvait avant de se déplacer et il possible de régler ce probleme ?
le 2eme et que j'aimerai que la souris recherche la couleur rouge dans un périmetre éloigné de disons plus de 3 cm du du cllique précédent voila=)
le 2eme et que j'aimerai que la souris recherche la couleur rouge dans un périmetre éloigné de disons plus de 3 cm du du cllique précédent voila=)
Re: [..] Arreter une action pour en faire une autre
A et j'ais oublié un truc ^^ comment faire pour kune fois avoir cliqué sur la case bleue la souris se remette a cliquer sur les case rouge?
-
- Niveau 4
- Messages : 65
- Enregistré le : sam. 22 déc. 2007 15:46
- Status : Hors ligne
Re: [..] Arreter une action pour en faire une autre
salut
pour le mouvement de la case bleue, essaye d'ajouter quelques pixels au clic,
essaye plusieurs valeurs, mais sinon je sais pas
pour le périmètre, tu vas devoir faire deux variables contenant la coordonnée x et l'autre la coordonnée y, que tu mettras à jour à chaque tour de la boucle,et que tu utiliseras dans le PixelSearch de la boucle d'après
Ll suffit de ne pas mettre ExitLoop, comme ça la boucle ne se quitte pas et donc il continue à faire les clics sur les cases rouges après.A et j'ais oublié un truc ^^ comment faire pour kune fois avoir cliqué sur la case bleue la souris se remette a cliquer sur les case rouge?
pour le mouvement de la case bleue, essaye d'ajouter quelques pixels au clic,
Code : Tout sélectionner
MouseClick( "left", $bleue[0]+15, $bleue[1]+15,1,10) ;il clique dessus
pour le périmètre, tu vas devoir faire deux variables contenant la coordonnée x et l'autre la coordonnée y, que tu mettras à jour à chaque tour de la boucle,et que tu utiliseras dans le PixelSearch de la boucle d'après
Re: [..] Arreter une action pour en faire une autre
mici pour toutes ces info
le seul probleme est pour le truc du périmetre : je ne veux pas que la souris clique 3cm plus loin mais qu'elle clique nimporte ou mais aprés ces 3 cm tu comprend?

Re: [..] Arreter une action pour en faire une autre
a m.... non céest bon dsl^^ je reouvrerait un new topic plus tard mici bien c'est cool 
