[R] Donner un mouvement a une image
Posté : sam. 23 nov. 2013 13:23
Bonjour je voudrait savoir si il est possible de donner un image un mouvement de balle qui rebondit lorsqu'il touche les bord de la gui une limite qu'ont lui impose ?
Communauté Francophone AutoIt
https://www.autoitscript.fr/forum/
Code : Tout sélectionner
#NoTrayIcon
#include <GuiconstantsEx.au3>
; On crée une image de balle rouge dans le dossier temporaire
$_FILE_HEX = "0x424D5E0E00000000000036040000280000003200000032000000010008000000000000000000C30E0000C30E000000010000000100000000FFFFACACF4FFB4" & _
"B4F4FFBBBBF3FFC3C3F3FFCACAF2FFD2D2F2FFD9D9F1FFE1E1F1FFE8E8F0FFF0F0F0FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00" & _
"0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00" & _
"0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00" & _
"0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00" & _
"0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00" & _
"0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00" & _
"0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00" & _
"0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00" & _
"0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00" & _
"0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00" & _
"0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00" & _
"0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00" & _
"0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00" & _
"0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00" & _
"0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00" & _
"0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0A0A0A0A0A0A0A0A0A" & _
"0A0A0A0A0A0A0A0A0A0A05020000000000000001030A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A00000A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0000000000" & _
"000000000000000000000000090A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A00000A0A0A0A0A0A0A0A0A0A0A0A0A0800000000000000000000000000000000000000" & _
"0000060A0A0A0A0A0A0A0A0A0A0A0A0A0A00000A0A0A0A0A0A0A0A0A0A0A0900000000000000000000000000000000000000000000000000070A0A0A0A0A0A0A" & _
"0A0A0A0A0A00000A0A0A0A0A0A0A0A0A0A01000000000000000000000000000000000000000000000000000000000A0A0A0A0A0A0A0A0A0A0A00000A0A0A0A0A" & _
"0A0A0A0A00000000000000000000000000000000000000000000000000000000000000080A0A0A0A0A0A0A0A0A00000A0A0A0A0A0A0A08000000000000000000" & _
"000000000000000000000000000000000000000000000000060A0A0A0A0A0A0A0A00000A0A0A0A0A0A0800000000000000000000000000000000000000000000" & _
"00000000000000000000000000060A0A0A0A0A0A0A00000A0A0A0A0A090000000000000000000000000000000000000000000000000000000000000000000000" & _
"0000060A0A0A0A0A0A00000A0A0A0A0A000000000000000000000000000000000000000000000000000000000000000000000000000000080A0A0A0A0A00000A" & _
"0A0A0A00000000000000000000000000000000000000000000000000000000000000000000000000000000000A0A0A0A0A00000A0A0A04000000000000000000" & _
"0000000000000000000000000000000000000000000000000000000000000000000A0A0A0A00000A0A0A00000000000000000000000000000000000000000000" & _
"000000000000000000000000000000000000000000070A0A0A00000A0A0000000000000000000000000000000000000000000000000000000000000000000000" & _
"000000000000000000000A0A0A00000A09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070A" & _
"0A00000A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A0A00000A0000000000000000" & _
"000000000000000000000000000000000000000000000000000000000000000000000000000000090A0000040000000000000000000000000000000000000000" & _
"000000000000000000000000000000000000000000000000000000000A0000000000000000000000000000000000000000000000000000000000000000000000" & _
"000000000000000000000000000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" & _
"000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000" & _
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000" & _
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" & _
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" & _
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" & _
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" & _
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" & _
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" & _
"00000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" & _
"080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A0000000000000000000000" & _
"000000000000000000000000000000000000000000000000000000000000000000000000000000000A0000080000000000000000000000000000000000000000" & _
"000000000000000000000000000000000000000000000000000000030A00000A0000000000000000000000000000000000000000000000000000000000000000" & _
"0000000000000000000000000000000A0A00000A0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000" & _
"0000000A0A00000A0A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090A0A00000A0A040000" & _
"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000A0A0A00000A0A0A0000000000000000000000000000" & _
"00000000000000000000000000000000000000000000000000000000000A0A0A0A00000A0A0A0700000000000000000000000000000000000000000000000000" & _
"00000000000000000000000000000000040A0A0A0A00000A0A0A0A02000000000000000000000000000000000000000000000000000000000000000000000000" & _
"000000000A0A0A0A0A00000A0A0A0A0A0000000000000000000000000000000000000000000000000000000000000000000000000000000A0A0A0A0A0A00000A" & _
"0A0A0A0A0A000000000000000000000000000000000000000000000000000000000000000000000000000A0A0A0A0A0A0A00000A0A0A0A0A0A0A000000000000" & _
"0000000000000000000000000000000000000000000000000000000000090A0A0A0A0A0A0A00000A0A0A0A0A0A0A0A0000000000000000000000000000000000" & _
"000000000000000000000000000000000A0A0A0A0A0A0A0A0A00000A0A0A0A0A0A0A0A0A03000000000000000000000000000000000000000000000000000000" & _
"0000000A0A0A0A0A0A0A0A0A0A00000A0A0A0A0A0A0A0A0A0A08000000000000000000000000000000000000000000000000000000060A0A0A0A0A0A0A0A0A0A" & _
"0A00000A0A0A0A0A0A0A0A0A0A0A0A040000000000000000000000000000000000000000000000010A0A0A0A0A0A0A0A0A0A0A0A0A00000A0A0A0A0A0A0A0A0A" & _
"0A0A0A0A0A0400000000000000000000000000000000000000010A0A0A0A0A0A0A0A0A0A0A0A0A0A0A00000A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0900000000" & _
"0000000000000000000000070A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0000"
FileWrite(@TempDir&"\ball.bmp", Binary($_FILE_HEX))
; Hauteur et largeur de la fenêtre
$Width = 666
$Heigh = 666
; Création et affichage de la fenêtre
$Gui = GUICreate ( Default, $Width, $Heigh)
$Ball = GUICtrlCreatePic ( @TempDir&"\ball.bmp", 0, 0, 50, 50)
GUISetState ( @SW_SHOW, $Gui)
; Paramètres
Dim $BallVector[2] = [Random(0,5,1), Random(0,5,1)] ; Vecteur de direction de la balle
Dim $BallPos[2] = [0, 0] ; Position de la balle
$Wait = 10 ; Temps entre charche rafraichissement
$Timer = TimerInit()
While GUIGetMsg() <> $GUI_EVENT_CLOSE
; Si le temps d'attente est dépassé
If TimerDiff($Timer) >= $Wait Then
; On vérifis si la balle va sortir de la fenêtre
If $BallPos[0] + $BallVector[0] > $Width - 50 Then
; On inverse le sens du vecteur
$BallVector[0] = - $BallVector[0]
EndIf
; On répète la même opération pour les 3 autres bords
If $BallPos[0] + $BallVector[0] < 0 Then
$BallVector[0] = - $BallVector[0]
EndIf
If $BallPos[1] + $BallVector[1] > $Heigh - 50 Then
$BallVector[1] = - $BallVector[1]
EndIf
If $BallPos[1] + $BallVector[1] < 0 Then
$BallVector[1] = - $BallVector[1]
EndIf
; On déplace la balle
$BallPos[0] = $BallPos[0] + $BallVector[0]
$BallPos[1] = $BallPos[1] + $BallVector[1]
GUICtrlSetPos($Ball, $BallPos[0], $BallPos[1])
; On réinitialise le timer
$Timer = TimerInit()
EndIf
WEnd
; On supprime le fichier temporaire
FileDelete(@TempDir&"\ball.bmp")Développé par phpBB® Forum Software © phpBB Limited
Traduit par phpBB-fr.com