Wieso flackert das script bei mir?
Spoiler anzeigen
#include
#include
#include
#include
$dll = DllOpen("user32.dll")
[/autoit] [autoit][/autoit] [autoit]Global $iX1 = 100 ;X Koordinate der Startposition des Spielers
Global $iY1 = 320 ;Y Koordinate der Startposition des Spielers
Global $Speed = 2 ;Geschwindigkeit des Spielers in Pixeln pro Bewegung
Global $MinX = 0 ;Legt das linke Ende des Raums fest
Global $MaxX = 633 ;Legt das rechte Ende des Raums fest
Global $MinY = 0 ;Legt das obere Ende des Raums fest
Global $MaxY = 447 ;Legt das untere Ende des Raums fest
$Gui = GUICreate("Dragonfight 2D", 633, 447, 330, 173)
GUISetState()
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit];Buffer damit alles besser dargestellt wird.
$HOG = _GDIPlus_GraphicsCreateFromHWND($Gui)
$BUFF = _GDIPlus_BitmapCreateFromGraphics(633,477,$HOG)
$DRAWER = _GDIPlus_ImageGetGraphicsContext($BUFF)
;Ende des Buffens
_GDIPlus_GraphicsClear($HOG,0xFFFFFFFF);BG setzen
[/autoit] [autoit][/autoit] [autoit];Farben
$Red = _GDIPlus_BrushCreateSolid(0xFFFF0000)
$Blue = _GDIPlus_BrushCreateSolid(0xFF0000FF)
$Yellow = _GDIPlus_BrushCreateSolid(0xFFFF00)
$Pink = _GDIPlus_BrushCreateSolid(0xFFFF00FF)
$Green = _GDIPlus_BrushCreateSolid(0xFF00FF00)
$Black = _GDIPlus_BrushCreateSolid(0xFF000000)
AdlibRegister("Reload", 35)
[/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
AdlibUnRegister()
_GDIPlus_GraphicsDispose($HOG)
_GDIPlus_GraphicsDispose($BUFF)
_GDIPlus_BitmapDispose($DRAWER)
_GDIPlus_Shutdown()
DllClose($dll)
_GDIPlus_Shutdown()
Exit
EndSwitch
If _IsPressed("25", $dll) Then _WalkLeft()
If _IsPressed("26", $dll) Then _WalkUp()
If _IsPressed("27", $dll) Then _WalkRight()
If _IsPressed("28", $dll) Then _WalkDown()
WEnd
Func Reload()
_GDIPlus_GraphicsClear($HOG, 0xFFF0F0F0);BG setzen
_GDIPlus_GraphicsFillRect($HOG, $iX1, $iY1, 12, 20)
_GDIPlus_GraphicsDrawImageRect($HOG, $BUFF, 0, 0, 625, 443) ;Zeichnet den Buffer auf die Grafik der GUI
EndFunc
Func _WalkLeft()
If $iX1 > $MinX Then $iX1 -= $Speed
EndFunc
Func _WalkRight()
If $iX1 < $MaxX Then $iX1 += $Speed
EndFunc
Func _WalkUp()
If $iY1 > $MinY Then $iY1 -= $Speed
EndFunc
Func _WalkDown()
If $iY1 < $MaxY Then $iY1 += $Speed
EndFunc
Edit Oscar: Post wiederhergestellt.