[R] Si la souris est présente dans une telle zone, alors...
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] Si la souris est présente dans une telle zone, alors...
Bonjour/Bonsoir à tous!
Voilà j'essaye de faire une sorte de jeu avec différents "niveaux".
Bref il y a un mini jeu ou j'aimerais faire une chose de ce genre:
Si la souris est présente en une zone spécifique, alors cette dernière se déplacera ailleurs.
Et faire une boucle afin qu'elle ne puisse jamais accéder a cette zone.
J'espère avoir été assez clair =$!
Je n'ai pas trouvé la solution après plusieurs recherches.
Merci à vous et bonne soirée!
Voilà j'essaye de faire une sorte de jeu avec différents "niveaux".
Bref il y a un mini jeu ou j'aimerais faire une chose de ce genre:
Si la souris est présente en une zone spécifique, alors cette dernière se déplacera ailleurs.
Et faire une boucle afin qu'elle ne puisse jamais accéder a cette zone.
J'espère avoir été assez clair =$!
Je n'ai pas trouvé la solution après plusieurs recherches.
Merci à vous et bonne soirée!
Modifié en dernier par daxxxter le sam. 08 oct. 2011 12:05, modifié 1 fois.
- TT22
- Membre émérite

- Messages : 1566
- Enregistré le : lun. 18 avr. 2011 15:21
- Localisation : La Quatrième Dimension
- Status : Hors ligne
Re: [..] Si la souris est présente dans une telle zone, alor
Essaye avec MouseGetPos et MouseMove 
Cordialement,
TT22
TT22
Re: [..] Si la souris est présente dans une telle zone, alor
Merci à toi!
Mais pourrais-tu m'éclairer sur Mousegetpos? Je connais Mousemove mais pas cette fonction. Merci d'avance!
Mais pourrais-tu m'éclairer sur Mousegetpos? Je connais Mousemove mais pas cette fonction. Merci d'avance!
- TT22
- Membre émérite

- Messages : 1566
- Enregistré le : lun. 18 avr. 2011 15:21
- Localisation : La Quatrième Dimension
- Status : Hors ligne
Re: [..] Si la souris est présente dans une telle zone, alor
Une petite pression sur la touche F1 t’aurais permis de trouver ça : http://www.autoitscript.fr/autoit3/docs ... GetPos.htm 
Cordialement,
TT22
TT22
Re: [..] Si la souris est présente dans une telle zone, alor
Je ne suis pas très performant en anglais =$
Re: [..] Si la souris est présente dans une telle zone, alor
Désolé pour le double-post =$
Voilà j'ai trouvé comment fonctionnait mousgetpos(très utile d'ailleurs) mais je cherche la fonction avec la même utilité mais en zone. Définir un rectangle de recherche un peu comme pixelsearch en fait =$
x1,y1,x2,y2.
Voilà j'ai trouvé comment fonctionnait mousgetpos(très utile d'ailleurs) mais je cherche la fonction avec la même utilité mais en zone. Définir un rectangle de recherche un peu comme pixelsearch en fait =$
x1,y1,x2,y2.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Si la souris est présente dans une telle zone, alor
Si la zone en question est dans un controle tu peux avoir ses coordonnées avec ControlGetPos
Mais si tu veux juste savoir si le curseur de la souris est sur le controle, alors il vaut mieux utiliser GUIGetCursorInfo :
Si la zone est juste un "endroit" de la gui, tu peux tricher en créant une label transparente dessus que tu utiliseras dans le script
Mais si tu veux juste savoir si le curseur de la souris est sur le controle, alors il vaut mieux utiliser GUIGetCursorInfo :
Code : Tout sélectionner
$a = GUIGetCursorInfo($gui)
If $a[4] = $controle Then ... ; si le curseur est sur $controle...Code : Tout sélectionner
#include <GUIConstantsEx.au3>
$gui = GUICreate("My GUI")
$label = GUICtrlCreateLabel("", 0, 0, 20, 20)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUISetState()
Do
$a = GUIGetCursorInfo($gui)
If $a[4] = $label Then Msgbox(0,"", "ok")
$msg = GUIGetMsg()
Until $msg = $GUI_EVENT_CLOSE" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- TT22
- Membre émérite

- Messages : 1566
- Enregistré le : lun. 18 avr. 2011 15:21
- Localisation : La Quatrième Dimension
- Status : Hors ligne
Re: [..] Si la souris est présente dans une telle zone, alor
Tiens, voilà :
Code : Tout sélectionner
HotKeySet("{Escape}","Fin") ; Se rend à la fonction "Fin" si l'on appuie sur "Echap".
$xPos = 50 ; Position x du carré/rectangle.
$yPos = 50 ; Position y du carré/rectangle.
$xTai = 200 ; Taille x du carré/rectangle.
$yTai = 200 ; Taille y du carré/rectangle.
While 1 ; Démarre la boucle.
$Pos = MouseGetPos() ; Prend la position de la souris.
If $xPos < $Pos[0] And $Pos[0] < $xTai And $yPos < $Pos[1] And $Pos[1] < $yTai Then ; Vérifie si la souris est dans le rectangle.
MouseMove($xPos + $xTai , $yPos + $yTai) ; Si elle y est, alors elle la bouge à l'extrémité du rectangle.
EndIf ; Fin de condition.
WEnd ; Retourne au début de la boucle.
Func Fin() ; Début de la fonction "Fin".
MsgBox(64,"Info","Fin du script !") ; Affiche un message.
Exit ; Quitte le script.
EndFunc ; Fin de la fonction.Cordialement,
TT22
TT22
Re: [..] Si la souris est présente dans une telle zone, alor
Merci beaucoup!

