Schönen Tag allen (Auch wenns regnet)
Ich hab diesmal ein komisches Problem:
Ich habe eine Variable ($MoveX) Global deklariert. Nun bekomme ich aber immer einen Error, wenn ich diese Variable in einer Funktion (_Left()) aufrufe. Warum?
Hier ist das Skript:
Skript
#include <GDIPlus.au3>
#include <GuiConstantsEx.au3>
#Include <WinAPI.au3>
#include <Array.au3>
#include <Misc.au3>
AdlibEnable("_Right", 10)
AdlibEnable("_Left", 10)
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]Global $MoveX = 0
Global $MoveY = 0
Global $hImage = _GDIPlus_ImageLoadFromFile(@DesktopDir&"\DieWelt.png")
Global $MapWidth = 40
Global $MapHeigth = 15
Global $hGraphic, $hGUI
$hGUI = GUICreate("Map1", 324, 244, -1, -1, 0x14CA0000, 0x00050100)
GUISetBkColor(0x000000, $hGUI)
GUISetState()
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
[/autoit] [autoit][/autoit] [autoit];~ $Widht = 0
;~ $High = 0
Do
_DrawMap(1 - $MoveX, 1, 1, 6)
_DrawMap(2 - $MoveX, 1, 3, 6)
Until GUIGetMsg() = $GUI_EVENT_CLOSE
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
[/autoit] [autoit][/autoit] [autoit]Func _DrawMap($Position1, $Position2, $Pic1, $Pic2)
_GDIPlus_GraphicsDrawImageRectRect($hGraphic, $hImage, ($Pic1 - 1) * 16, ($Pic2 - 1) * 16, 16, 16, 2 + ($Position1 - 1) * 15 + ($Position1 - 1), 2 + ($Position2 - 1) * 15 + ($Position2 - 1), 16, 16)
EndFunc
Func _Right()
If $MoveX >= 20 Then
If _IsPressed(27) Then
$MoveX += 1
EndIf
EndIf
EndFunc
Func _Left()
If $MoveX <= $MapWidth Then
If _IsPressed(25) Then
$MoveX -= 1
EndIf
EndIf
EndFunc
Error Meldung
C:\Dokumente und Einstellungen\XXX\Desktop\Scripten\Map1.au3 (52) : ==> Variable used without being declared.:
If $MoveX <= $MapWidth Then
If ^ ERROR
Edit: Fehler gefunden (SEHR DUMM VON MIR! >.<)
AdlibEnable war falsch gesetzt.