Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
#include <Icons.au3>
HotKeySet("{DOWN}", "Milieu")
HotKeySet("{LEFT}", "Gauche")
HotKeySet("{RIGHT}", "Droite")
Dim $Time[1]
Dim $Pic[1]
Global $TimerMouvement
$CheminCercle = "Cercle.png"
$CheminDisque = "Disque.gif"
$TaillePic = 60
$Largeur = 350
$Hauteur = 500
$Gui = GUICreate("Tap Tap", $Largeur, $Hauteur)
$Background = GUICtrlCreatePic("Background.jpg", 0, 0, $Largeur, $Hauteur)
GUICtrlSetState(-1, $GUI_DISABLE)
CreateCercles()
CreateDisque("Gauche")
CreateDisque("Milieu")
CreateDisque("Droite")
GUISetState(@SW_SHOW, $Gui)
For $i = 1 To UBound($Pic) - 1
GUISetState(@SW_SHOW, $Pic[$i])
Next
$TimerMouvement = TimerInit()
While 1
If TimerDiff($TimerMouvement) >= 10 Then
Mouvement()
$TimerMouvement = TimerInit()
EndIf
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func Droite()
ControlSend("", "", "", "{RIGHT}")
MsgBox(0, "", "Droite")
EndFunc ;==>Droite
Func Gauche()
ControlSend("", "", "", "{LEFT}")
MsgBox(0, "", "gauche")
EndFunc ;==>Gauche
Func Milieu()
ControlSend("", "", "", "{DOWN}")
MsgBox(0, "", "Milieu")
EndFunc ;==>Milieu
Func Mouvement()
For $i = 1 To UBound($Pic) - 1
$posGui = WinGetPos($Gui)
$posPic = WinGetPos($Pic[$i])
If $Time[$i] = "" Then
WinMove($Pic[$i], "", $posPic[0], $posPic[1] + 5)
If $posPic[1] >= $posGui[1] + $Hauteur - 50 Then
$Time[$i] = TimerInit()
EndIf
ElseIf TimerDiff($Time[$i]) >= 200 Then
Exit
EndIf
Next
EndFunc ;==>Mouvement
Func CreateCercles()
Dim $Cercle[3]
$Cercle[0] = GUICtrlCreatePic("", 20, $Hauteur - $TaillePic - 10, $TaillePic, $TaillePic)
$Cercle[1] = GUICtrlCreatePic("", 145, $Hauteur - $TaillePic - 10, $TaillePic, $TaillePic)
$Cercle[2] = GUICtrlCreatePic("", 270, $Hauteur - $TaillePic - 10, $TaillePic, $TaillePic)
For $i = 0 To 2
_SetImage($Cercle[$i], $CheminCercle)
Next
EndFunc ;==>CreateCercles
Func CreateDisque($Pos)
Local $i
If $Pos = "Gauche" Then
$i = 20
ElseIf $Pos = "Milieu" Then
$i = 145
ElseIf $Pos = "Droite" Then
$i = 270
EndIf
_ArrayAdd($Time, "")
_ArrayAdd($Pic, GUICreate("", $TaillePic, $TaillePic, $i, 0, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_LAYERED, $WS_EX_MDICHILD), $Gui))
GUICtrlCreatePic($CheminDisque, 0, 0, $TaillePic, $TaillePic)
GUISetBkColor(0xFFFFFF, $Pic)
_WinAPI_SetLayeredWindowAttributes($Pic, 0xFFFFFF)
EndFunc ;==>CreateDisque