j'imagine qu'il n'y a pas de solution mais on sais jamais je préfère en avoir le coeur net! ^^
je fait un labyrinthe avec autoit mais le souci c'est que quand je me déplace sur la map j'ai plein de flash blanc du au rafraichissement de la GUI j'imagine...
je vous fourni le code:
► Afficher le texte
Code : Tout sélectionner
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=iconeLabyrinthe.ico
#AutoIt3Wrapper_UseX64=n
#AutoIt3Wrapper_Res_Comment=Jeux de détente.
#AutoIt3Wrapper_Res_Description=Jeux de détente.
#AutoIt3Wrapper_Res_Fileversion=1.0.1.0
#AutoIt3Wrapper_Res_LegalCopyright=Yo-LiX Edition
#AutoIt3Wrapper_Res_Language=1036
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#Include <Misc.au3>
#include <GDIPlus.au3>
#include <WinAPI.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Include <file.au3>
#include <INet.au3>
#include <WindowsConstants.au3>
#include <GuiConstantsEx.au3>
#include <StaticConstants.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Deplacement = 2
$Title = "Labyrinthe Game v1.0.1"
$Dir_Tempo = @TempDir&"\Labyrinthe Game"
$Player1_image = $Dir_Tempo&"\Playeur1.jpg"
$Player2_image = $Dir_Tempo&"\Playeur2.jpg"
$Player3_image = $Dir_Tempo&"\Playeur3.jpg"
$Player4_image = $Dir_Tempo&"\Playeur4.jpg"
$sImage_MAP_View = $Dir_Tempo&"\map_view.bmp"
$sImage_MAP_Read = $Dir_Tempo&"\map_read.bmp"
DirCreate($Dir_Tempo)
FileDelete($Player1_image)
FileInstall("Playeur1.jpg", $Player1_image)
FileDelete($Player2_image)
FileInstall("Playeur2.jpg", $Player2_image)
FileDelete($Player3_image)
FileInstall("Playeur3.jpg", $Player3_image)
FileDelete($Player4_image)
FileInstall("Playeur4.jpg", $Player4_image)
FileDelete($sImage_MAP_View)
FileInstall("Labyrinthe.bmp", $sImage_MAP_View)
FileDelete($sImage_MAP_Read)
FileInstall("Labyrinthe.bmp", $sImage_MAP_Read)
$Coordoner_departY = -1396
$Coordoner_departX = 0
;$Coordoner_departY = -550+150
;$Coordoner_departX = -1826+150
$Coordoner_actuelY = $Coordoner_departY
$Coordoner_actuelX = $Coordoner_departX
_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile($sImage_MAP_Read) ; <= charge l'image
$iW = _GDIPlus_ImageGetWidth($hImage) ; <= dimensions de l'image
$iH = _GDIPlus_ImageGetHeight($hImage)
$GUI_Labirinthe = GUICreate($Title, 300, 300)
$Groupe = GUICtrlCreateGroup("Player: ", 10, 10, 60, 110)
$Radio1 = GUICtrlCreateRadio("", 20, 30, 18, 20)
GUICtrlSetState(-1, $GUI_CHECKED)
$Pic1 = GUICtrlCreatePic($Player1_image, 40, 35, 10, 10)
$Radio2 = GUICtrlCreateRadio("", 20, 50, 18, 20)
$Pic2 = GUICtrlCreatePic($Player2_image, 40, 55, 10, 10)
$Radio3 = GUICtrlCreateRadio("", 20, 70, 18, 20)
$Pic3 = GUICtrlCreatePic($Player3_image, 40, 75, 10, 10)
$Radio4 = GUICtrlCreateRadio("", 20, 90, 18, 20)
$Pic4 = GUICtrlCreatePic($Player4_image, 40, 95, 10, 10)
$Button_Start = GUICtrlCreateButton("Start", 220, 275 , 75, 20)
GUISetState()
While 1
$msg_gui = GUIGetMsg()
Switch $msg_gui
Case $GUI_EVENT_CLOSE
Exit
Case $Button_Start
GUISetState(@SW_HIDE)
$image = GUICtrlCreatePic ($sImage_MAP_View, $Coordoner_departX, $Coordoner_departY, $iW, $iH)
If GUICtrlRead($Radio1) = $GUI_CHECKED Then
$playeur = GUICtrlCreatePic($Player1_image, 146, 146, 12, 12)
EndIf
If GUICtrlRead($Radio2) = $GUI_CHECKED Then
$playeur = GUICtrlCreatePic($Player2_image, 146, 146, 12, 12)
EndIf
If GUICtrlRead($Radio3) = $GUI_CHECKED Then
$playeur = GUICtrlCreatePic($Player3_image, 146, 146, 12, 12)
EndIf
If GUICtrlRead($Radio4) = $GUI_CHECKED Then
$playeur = GUICtrlCreatePic($Player4_image, 146, 146, 12, 12)
EndIf
GUICtrlDelete($Groupe)
GUICtrlDelete($Radio1)
GUICtrlDelete($Radio2)
GUICtrlDelete($Radio3)
GUICtrlDelete($Radio4)
GUICtrlDelete($Pic1)
GUICtrlDelete($Pic2)
GUICtrlDelete($Pic3)
GUICtrlDelete($Pic4)
GUICtrlDelete($Button_Start)
GUICtrlDelete($Button_Start)
GUISetState(@SW_SHOW)
AdlibRegister("Adlib", 10)
EndSwitch
WEnd
Func Adlib()
If WinGetTitle("") = $Title Then
If _IsPressed(26) Then _jup()
If _IsPressed(28) Then _jdown()
If _IsPressed(25) Then _jleft()
If _IsPressed(27) Then _jright()
EndIf
EndFunc
Func color()
$Color = _GDIPlus_BitmapGetPixel($hImage, -$Coordoner_actuelX+151, -$Coordoner_actuelY+146)
MsgBox(0, "", $Color)
ClipPut($Color)
EndFunc
Func _jup() ; Déplacement manuel du joueur2 vers le haut.
$Color = _GDIPlus_BitmapGetPixel($hImage, -$Coordoner_actuelX+151, -$Coordoner_actuelY+145)
if $Color <> -16777216 Then
$Coordoner_actuelY = $Coordoner_actuelY + $Deplacement
GUICtrlSetPos($image, $Coordoner_actuelX, $Coordoner_actuelY)
if $Color = -5855578 Then MsgBox(0, "Victoire", "You WIN!!!")
EndIf
EndFunc
Func _jdown() ; Déplacement manuel du joueur2 vers le bas.
$Color = _GDIPlus_BitmapGetPixel($hImage, -$Coordoner_actuelX+151, -$Coordoner_actuelY+158)
if $Color <> -16777216 Then
$Coordoner_actuelY = $Coordoner_actuelY - $Deplacement
GUICtrlSetPos($image, $Coordoner_actuelX, $Coordoner_actuelY)
if $Color = -5855578 Then MsgBox(0, "Victoire", "You WIN!!!")
EndIf
EndFunc
Func _jleft() ; Déplacement manuel du joueur2 vers le haut.
$Color = _GDIPlus_BitmapGetPixel($hImage, -$Coordoner_actuelX+145, -$Coordoner_actuelY+151)
if $Color <> -16777216 Then
$Coordoner_actuelX = $Coordoner_actuelX + $Deplacement
GUICtrlSetPos($image, $Coordoner_actuelX, $Coordoner_actuelY)
if $Color = -5855578 Then MsgBox(0, "Victoire", "You WIN!!!")
EndIf
EndFunc
Func _jright() ; Déplacement manuel du joueur2 vers le bas.
$Color = _GDIPlus_BitmapGetPixel($hImage, -$Coordoner_actuelX+158, -$Coordoner_actuelY+151)
if $Color <> -16777216 Then
$Coordoner_actuelX = $Coordoner_actuelX - $Deplacement
GUICtrlSetPos($image, $Coordoner_actuelX, $Coordoner_actuelY)
if $Color = -5855578 Then MsgBox(0, "Victoire", "You WIN!!!")
EndIf
EndFunc
Func _GDIPlus_BitmapGetPixel($hBitmap, $iX, $iY)
Local $aResult
$aResult = DllCall($ghGDIPDll, "int", "GdipBitmapGetPixel", "hwnd", $hBitmap, "int", $iX, "int", $iY, "int*", 0)
If @error Then Return SetError(@error, @extended, -1)
Return SetError($aResult[0], 0, $aResult[4])
EndFunc ;==>_GDIPlus_BitmapGetPixel



