Page 1 sur 1
[R] Faire bouger une image dans une GUI .
Posté : ven. 13 sept. 2013 18:47
par Nocrolox
Bonjour , je fais appel à vous car j'ai besoin d'aide , je voudrais ( si possible ) faire une script qui me permet de faire un déplacement , je m'explique , lorsque que je clique sur un endroit de ma GUI mon image ( un point rouge par exemple ) doit parvenir à cet emplacement comme si on déplaçais un personnage par exemple .
Merci de votre aide !
Re: [Faire bouger une image dans une GUI .]
Posté : ven. 13 sept. 2013 19:20
par mikell
D'abord faudrait mettre ton titre de sujet en conformité avec ça :
http://www.autoitscript.fr/forum/viewto ... f=35&t=595
Ensuite oui c'est possible, poste-nous ton script
Re: [..] Faire bouger une image dans une GUI .
Posté : ven. 13 sept. 2013 19:29
par Nocrolox
Voila , désolé comme je l'ai écrit deux fois la deuxième fois j'ai oublié .
Je n'ai justement pas de code actuellement j'essaie quelques trucs que voici :
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ImageSearch.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 394, 267, 192, 124)
global $P = GUICtrlCreatePic("C:\Program Files (x86)\Delbook\ok2.bmp", 64, 48, 100, 28)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
global $x1=0
global $y1=0
sleep(1000)
$m = MouseClick("left",370, 243)
GUICtrlSetPos($P,$x1,$y1)
Merci de votre aide !!
Re: [..] Faire bouger une image dans une GUI .
Posté : sam. 14 sept. 2013 11:08
par mikell
Voilà, faut juste remplacer la label par une image
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <Misc.au3>
$gui = GUICreate("My GUI")
$label = GUICtrlCreateLabel("", 10, 20, 10, 10)
GUICtrlSetBkColor(-1, 0xff0000)
GUISetState()
While 1
If _IsPressed("01") Then
$a = GUIGetCursorInfo($gui)
If not @error Then
GUICtrlSetPos($label, $a[0]-5, $a[1]-5)
EndIf
EndIf
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then Exit
WEnd
Pour un déplacement non-instantané faut passer par une 2ème gui et WinMove
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$gui = GUICreate("My GUI", 300, 200, -1, -1, BitOR($WS_POPUP, $WS_BORDER))
$exit = GuiCtrlCreateButton("Exit", 20, 90, 60, 25)
GUISetState()
$gui2 = GUICreate("My GUI2", 10, 10, 10, 10, $WS_POPUP, $WS_EX_MDICHILD, $gui)
GUISetBkColor(0xff0000)
GUISetState()
While 1
$msg = GUIGetMsg()
If $msg = $exit Then Exit
If $msg = $GUI_EVENT_PRIMARYDOWN Then
$a = GUIGetCursorInfo($gui)
If not @error and $a[4] <> $exit Then
$b = WinGetPos($gui)
$c = MouseGetPos()
WinMove ($gui2, "", $c[0]-5, $c[1]-5, Default, Default, 5)
EndIf
EndIf
WEnd
Edit
pour les matheux
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <Math.au3>
#include <Misc.au3>
Global $x = 10, $y = 10
$GUI = GUICreate("ATan2", 800, 600)
$label = GUICtrlCreateLabel("", $x, $y, 20, 20)
GUICtrlSetBkColor(-1, 0xff0000)
GUISetState()
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then Exit
If _IsPressed("01") Then
$a = GUIGetCursorInfo($gui)
If not @error and $a[1]>0 Then
Do
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then Exit
$xDist = $a[0] - $x
$yDist = $a[1] - $y
$Angle = _ATan2($yDist, $xDist)
$xSpeed = Cos($Angle) * 3
$ySpeed = Sin($Angle) * 3
$x += Round($xSpeed, 0)
$y += Round($ySpeed, 0)
GUICtrlSetPos($label, $x, $y)
Sleep(5)
Until Abs($a[0]-$x)<2 and Abs($a[1]-$y)<2
EndIf
EndIf
WEnd
[R] Faire bouger une image dans une GUI .
Posté : sam. 14 sept. 2013 11:23
par Nocrolox
Super merci !