Hallo,
Ich wollte mich gerne mit GDIPlus beschäftigen doch jetzt komme ich nicht so wirklich weiter, eine Grafik bekomme ich angezeigt den Player
doch jetzt will ich gerne auch einen baum anzeigen lassen doch wenn ich mich mit den Player bewege verschiendet der Baum ?
hier das Script
[autoit]
#RequireAdmin
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#include <Misc.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 623, 446, @DesktopWidth / 2, 124) ; Später wieder einbauen ! $WS_POPUPWINDOW
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Global $aCharakter[4] = ['player_img\up_player.png', 'player_img\down_player.png', 'player_img\left_player.png', 'player_img\right_player.png'] ; [0]UP - [1]DOWN -[2]LEFT -[3]RIGHT
Global $aObjekte [2] = ['objekte_img\Background.png', 'objekte_img\Baum.png'] ; [0]BK -[1]BAUM
Global $FigurUp, $FigurDown, $FigurLeft, $FigurRight
Global $FigurUpHeight, $FigurDownHeight, $FigurLeftHeight, $FigurRightHeight
Global $FigurUpWidth, $FigurDownWidth, $FigurLeftWidth, $FigurRightWidth
Global $FigurUpVer, $FigurDownVer, $FigurLeftVer, $FigurRightVer
Global $PlayerPos_X = 20, $PlayerPos_Y = 20
Global $Background, $BackgroundHeight, $BackgroundWidth, $BackgroundVer
Global $Baum, $BaumHeight, $BaumWidth, $BaumVer
Global $hGrafik, $hBitmap, $hBuffer
_GDIPlus_Startup()
;////////////// Laden Objekte ///////////////////////////
$FigurUp = _GDIPlus_ImageLoadFromFile($aCharakter[0])
$FigurDown = _GDIPlus_ImageLoadFromFile($aCharakter[1])
$FigurLeft = _GDIPlus_ImageLoadFromFile($aCharakter[2])
$FigurRight = _GDIPlus_ImageLoadFromFile($aCharakter[3])
$Background = _GDIPlus_ImageLoadFromFile($aObjekte[0])
$Baum = _GDIPlus_ImageLoadFromFile($aObjekte[1])
;///////////// Height der Objekte ///////////////////////
$FigurUpHeight = _GDIPlus_ImageGetHeight($FigurUp)
$FigurDownHeight = _GDIPlus_ImageGetHeight($FigurDown)
$FigurLeftHeight = _GDIPlus_ImageGetHeight($FigurLeft)
$FigurRightHeight = _GDIPlus_ImageGetHeight($FigurRight)
$BackgroundHeight = _GDIPlus_ImageGetHeight($Background)
$BaumHeight = _GDIPlus_ImageGetHeight($Baum)
;////////////// Width der Objekte ////////////////////////
$FigurUpWidth = _GDIPlus_ImageGetWidth($FigurUp)
$FigurDownWidth = _GDIPlus_ImageGetWidth($FigurDown)
$FigurLeftWidth = _GDIPlus_ImageGetWidth($FigurLeft)
$FigurRightWidth = _GDIPlus_ImageGetWidth($FigurRight)
$BackgroundWidth = _GDIPlus_ImageGetWidth($Background)
$BaumWidth = _GDIPlus_ImageGetWidth($Baum)
;///////////// Verhältnise der Objekte ///////////////////
$FigurUpVer = $FigurUpHeight / $FigurUpWidth
$FigurDownVer = $FigurDownHeight / $FigurDownWidth
$FigurLeftVer = $FigurLeftHeight / $FigurLeftWidth
$FigurRightVer = $FigurRightHeight / $FigurRightWidth
$BackgroundVer = $BackgroundHeight / $BackgroundWidth
$BaumVer = $BaumHeight / $BaumWidth
;//////////// Der Buffer ///////////////////////////////////
$hGrafik = _GDIPlus_GraphicsCreateFromHWND($Form1)
$hBitmap = _GDIPlus_BitmapCreateFromGraphics(623, 446, $hGrafik)
$hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
_Exit()
Case _Steuerung()
EndSwitch
WEnd
Func _Exit()
_GDIPlus_Shutdown()
Exit
EndFunc
Func _Objekte_Draw($Obj, $Width, $Verhealtnis)
_GDIPlus_GraphicsDrawImageRect($hBuffer, $Background, 0, 0, 623, 446)
_GDIPlus_GraphicsDrawImageRect($hBuffer, $Obj, $PlayerPos_X, $PlayerPos_Y, $Width, 20 * $Verhealtnis)
_GDIPlus_GraphicsDrawImage($hGrafik, $hBitmap, 0, 0)
EndFunc
Func _Steuerung()
Select
Case _IsPressed(25) And Not $PlayerPos_X <= 0 ; LEFT
$PlayerPos_X -= 10
_Objekte_Draw($FigurLeft, 20, $FigurLeftVer)
Case _IsPressed(26) And Not $PlayerPos_Y <= 0 ; UP
$PlayerPos_Y -= 10
_Objekte_Draw($FigurUp, 20, $FigurUpVer)
Case _IsPressed(27) And Not $PlayerPos_X <= 610 ; RIGHT
$PlayerPos_X += 10
_Objekte_Draw($FigurRight, 20, $FigurRightVer)
Case _IsPressed(28) And Not $PlayerPos_Y <= 440 ; DOWN
$PlayerPos_Y += 10
_Objekte_Draw($FigurDown, 20, $FigurDownVer)
EndSelect
EndFunc
Vlt kann mir jemand helfen ?