• hab nen bug gefunden, wenn man läuft und mit dem maus irgendwo klickt im fenster, rennt link sehr schnell
    aber geiles spiel ^^ wär gut, wenn du wirklich mit dem spiel fertig gecodet hast. der Link Sprite erinnert mich an das spiel The Legend of Zelda, The Minish Cap ... hab ein Emulator auf mein Handy und das Spiel drauf ^^ bin bald dabei, Vaati zu besiegen (habs eig. geschafft, nur speichert es genau dort nicht...)

    Kurz: :thumbup:

  • So jungens ...

    Das Update mit dem "richtigen Laufen" kommt nach hinten verschoben !!!

    Es existiert bereits ein NPC, aber noch kein MESSAGE FENSTER, soll heißen:
    Ein NPC als WALL ist da, aber mehr auch nicht !

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • kannst ja, wenn du willst, auch eine geschichte einfügen, wie bei The Legend of zelda (Zelda wird gefangengenommen/versteinert, der held muss sie retten ^^ wie bei allen Spielen der Reihe Zelda)

  • Ich versteh nicht, warum du so viele Bilder machst. ^^

    Man könnte das locker mit GDI+ machen. ;)

    Zitat

    [Heute, 11:39] Raupi: Soll ich es dir machen?
    [Heute, 11:47] BugFix: "Soll ich es dir machen? " - also Raupi !! bitte nicht so öffentlich :rofl:

    Zitat

    [Heute, 11:51] BugFix: und ich werde es mir jetzt machen - das Mittagessen :P

    AMsg UDF v1.00.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%
    OwnStyle UDF Version 1.10.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%

  • Jep schon, sogar die Münzen :D


    Sry das ich net in Skype on komme, habe grade 0 Zeit -.-

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Ich schreib dir mal die Münzen in GDI+. ;)

    Edit: Gesagt, getahn:

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <Misc.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $hWnd, $hGraphic, $hBitmap, $backbuffer
    Global $ScreenDc, $dc, $tSize, $pSize, $tSource, $pSource, $tBlend, $pBlend, $tPoint, $pPoint, $gdibitmap
    Global $hFormat, $hFamily, $hFont, $tLayout, $aInfo
    Global $brush1, $brush2, $brush3
    Global $title = "GDI+ Münze", _
    $user32 = DllOpen("user32.dll"), _
    $width = 25, _
    $height = 25
    Global $MousePos

    [/autoit] [autoit][/autoit] [autoit]

    _Startup()
    _Draw()
    _Update()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $MousePos = MouseGetPos()
    WinMove($title, "", $MousePos[0], $MousePos[1])
    If _IsPressed("1B", $user32) And _IsPressed("A2", $user32) Then _Close()
    Sleep(10)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _Draw()
    _GDIPlus_GraphicsFillEllipse($backbuffer, 0, 0, 24, 24, $brush2)
    _GDIPlus_GraphicsFillEllipse($backbuffer, 1, 1, 21, 21, $brush1)
    _GDIPlus_GraphicsDrawStringEx($backbuffer, "$", $hFont, $aInfo[0], $hFormat, $brush3)
    _GDIPlus_BrushDispose($brush1)
    _GDIPlus_BrushDispose($brush2)
    _GDIPlus_BrushDispose($brush3)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Update()
    $gdibitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
    _WinAPI_SelectObject($dc, $gdibitmap)
    _WinAPI_UpdateLayeredWindow($hWnd, $ScreenDc, 0, $pSize, $dc, $pSource, 0, $pBlend, 2)
    _WinAPI_DeleteObject($gdibitmap)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _StartUp()
    _GDIPlus_Startup()
    $hWnd = GUICreate($title, $width, $height, -1, -1, 0x80000000, BitOR(0x00000080, 0x00080000, 0x00000008))
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics($width, $height, $hGraphic)
    $backbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    _GDIPlus_GraphicsSetSmoothingMode($backbuffer, 4)

    [/autoit] [autoit][/autoit] [autoit]

    $hFormat = _GDIPlus_StringFormatCreate(0x1000)
    _GDIPlus_StringFormatSetAlign($hFormat, 1)
    $hFamily = _GDIPlus_FontFamilyCreate("Book Antiqua")
    $hFont = _GDIPlus_FontCreate($hFamily, 22, 1, 2)
    $tLayout = _GDIPlus_RectFCreate(1, -1, 25, 25)
    $aInfo = _GDIPlus_GraphicsMeasureString($backbuffer, "$", $hFont, $tLayout, $hFormat)

    [/autoit] [autoit][/autoit] [autoit]

    $brush1 = _GDIPlus_BrushCreateLinear(0, 0, 24, 24, 0xFFCE9900, 0xFFF8D114)
    $brush2 = _GDIPlus_BrushCreateLinear(0, 0, 24, 24, 0xFFF8D114, 0xFFCE9900)
    $brush3 = _GDIPlus_BrushCreateLinear(0, 0, 24, 24, 0xAFFFFFFF, 0x40FFFFFF)

    [/autoit] [autoit][/autoit] [autoit]

    $ScreenDc = _WinAPI_GetDC($hWnd)
    $dc = _WinAPI_CreateCompatibleDC($ScreenDc)

    [/autoit] [autoit][/autoit] [autoit]

    $tSize = DllStructCreate($tagSIZE)
    $pSize = DllStructGetPtr($tSize)
    DllStructSetData($tSize, "X", $width)
    DllStructSetData($tSize, "Y", $height)
    $tSource = DllStructCreate($tagPOINT)
    $pSource = DllStructGetPtr($tSource)
    $tBlend = DllStructCreate($tagBLENDFUNCTION)
    $pBlend = DllStructGetPtr($tBlend)
    DllStructSetData($tBlend, "Alpha", 255)
    DllStructSetData($tBlend, "Format", 1)
    $tPoint = DllStructCreate($tagPOINT)
    $pPoint = DllStructGetPtr($tPoint)
    DllStructSetData($tPoint, "X", 0)
    DllStructSetData($tPoint, "Y", 0)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsClear($backbuffer, 0x00000000)
    GUISetState()
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _GDIClose()
    _GDIPlus_GraphicsDispose($backbuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Close()
    DllClose($user32)
    GUISetState(@SW_MINIMIZE, $hWnd)
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _GDIPlus_BrushCreateLinear($iX1, $iY1, $iX2, $iY2, $iARGB1 = 0xFF000000, $iARGB2 = 0xFFFFFFFF)
    Local $aResult, $start, $end, $sPoint, $ePoint

    [/autoit] [autoit][/autoit] [autoit]

    $start = DllStructCreate("int X;int Y")
    DllStructSetData($start, "X", $iX1)
    DllStructSetData($start, "Y", $iY1)
    $sPoint = DllStructGetPtr($start)

    [/autoit] [autoit][/autoit] [autoit]

    $end = DllStructCreate("int X;int Y")
    DllStructSetData($end, "X", $iX2)
    DllStructSetData($end, "Y", $iY2)
    $ePoint = DllStructGetPtr($end)

    [/autoit] [autoit][/autoit] [autoit]

    $aResult = DllCall($ghGDIPDll, "int", "GdipCreateLineBrushI", "ptr", $sPoint, "ptr", $ePoint, "int", $iARGB1, "int", $iARGB2, "int", 0, "int*", 0)
    If @error Then Return SetError(@error, @extended, 0)

    [/autoit] [autoit][/autoit] [autoit]

    Return SetError(0, $aResult[0], $aResult[6])
    EndFunc ;==>_GDIPlus_BrushCreateLinear

    [/autoit]
    Zitat

    [Heute, 11:39] Raupi: Soll ich es dir machen?
    [Heute, 11:47] BugFix: "Soll ich es dir machen? " - also Raupi !! bitte nicht so öffentlich :rofl:

    Zitat

    [Heute, 11:51] BugFix: und ich werde es mir jetzt machen - das Mittagessen :P

    AMsg UDF v1.00.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%
    OwnStyle UDF Version 1.10.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%

    3 Mal editiert, zuletzt von H2112 (15. Mai 2010 um 18:03)

  • hey danke zu dem Bild im anderen Thema, Zelda 2D
    kann das jetzt ausdrucken und als Map verwenden für das Spiel The Legend of Zelda The Minish Cap (Spielt mal das Spiel mit nem Emulator und den .gba datei [ist natürlich nicht ganz legal, nur wenn man es schon hat, aber wer befolgt diese regeln schon??????? :cursing: ])

  • ENDLICh habe ich die UDF für den Baum fertig !!!


    Jetzt kann jeder seine eigenen Bäume integrieren, solange er darauf achtet was passieren muss !!!

    Spoiler anzeigen
    [autoit]


    #include <GDIPlus.au3>
    #cs
    ; UDF: GDIPlus Domino - Zelda alias "Zeichen Papier" Tree UDF
    ;
    ; Author: EliteMattthias
    ;
    ; Func Name: _TreeCreate($BackBuffer, $PersonX, $PersonY, $PersonWidth, $PersonHeight, $TreeX, $TreeY, $File[, $TreeWidth=25[, $TreeHeight=25]])
    ;
    ; Parameter(s): $BackBuffer = Backbuffer auf den die Kiste gezeichnet wird
    ; $PersonX = Die X Position der Person (vorher in Variable definieren)
    ; $PersonY = Die Y Position der Person (vorher in Variable definieren)
    ; $PersonWidth = Die Breite der Person
    ; $PersonHeight = Die Höhe der Person
    ; $TreeX = Die X-Achse wo der Baum gezeichnet werden soll
    ; $TreeY = Die Y-Achse wo der Baum gezeichnet werden soll
    ; $File = Die Datei woraus der Baum entnommen wird (muss mit _GDIPlus_ImageLoadFromFile() geöffnet werden)
    ;
    ; OPTIONAL
    ;
    ; $TreeWidth = Die Breite des Baumes (standard 25)
    ; $TreeHeight = Die Höhe des Baumes (standard 25)
    ;
    ;
    ; Funktion: Zeichnet einen Baum für das Spiel --GDIPlus Domino - Zelda alias "ZeichenPapier"-- der als Aufhaltendes Objekt wirkt
    ;
    ; Includes: <GDIPlus.au3>
    ;
    ;
    ; Needs: Es müssen extra Variablen für die Position des Charakters genommen werden !
    ; $PosAktuell1 = X
    ; $PosAktuell2 = Y
    ;
    ;
    ; (C) EliteMattthias
    ; All Copyrights reserved by EliteMattthias
    #ce
    Global $PosAktuell1
    Global $PosAktuell2
    Func _TreeCreate($BackBuffer, $PersonX, $PersonY, $PersonWidth, $PersonHeight, $TreeX, $TreeY, $File, $TreeWidth = 25, $TreeHeight = 25)
    _GDIPlus_GraphicsDrawImageRect($BackBuffer, $File, $TreeX, $TreeY, $TreeWidth, $TreeHeight)
    If ($PersonX <= $TreeX + $TreeWidth And $PersonX + $PersonWidth - 1 >= $TreeX) and ($PersonY + $PersonHeight - 1 >= $TreeY And $PersonY <= $TreeY + $TreeHeight) Then ;Prüft ob die Person am BAUM von LINKS ist !
    $PosAktuell1 = $TreeX - $PersonWidth
    ElseIf ($PersonX >= $TreeX + $TreeWidth And $PersonX <= $TreeX + $TreeWidth + 3) and ($PersonY + $PersonHeight - 1 >= $TreeY And $PersonY <= $TreeY + $TreeHeight) Then ; Prüft ob die Person am BAUM von RECHTS ist !
    $PosAktuell1 = $TreeX + $TreeWidth + 4
    ElseIf ($PersonX >= $TreeX - $PersonWidth + 1 And $PersonX <= $TreeX + $TreeWidth) and ($PersonY <= $TreeY + 3 And $PersonY >= $TreeY - $PersonHeight - 3) Then
    $PosAktuell2 = $TreeY - $PersonHeight - 3
    ElseIf ($PersonX >= $TreeX - $PersonWidth + 1 And $PersonX <= $TreeX + $TreeWidth) and ($PersonY >= $TreeY + $TreeHeight + 3 And $PersonY <= $TreeY + $TreeHeight + 4) Then
    $PosAktuell2 = $TreeY + $TreeHeight + 6
    EndIf
    EndFunc ;==>_TreeCreate

    [/autoit]


    Ihr benötigt nähmlich das:

    Spoiler anzeigen
    [autoit]


    ;Am anfang eures Scriptes
    Global $PosAktuell1
    Global $PosAktuell2

    [/autoit] [autoit][/autoit] [autoit]

    ;UND:

    [/autoit] [autoit][/autoit] [autoit]

    Func _Bewegung()
    If _IsPressed("25") And $Lauf = 1 Then
    $Link = 4
    _LinksDraw()
    EndIf
    If _IsPressed("27") And $Lauf = 1 Then
    $Link = 3
    _RechtsDraw()
    EndIf
    If _IsPressed("28") And $Lauf = 1 Then
    $Link = 1
    _UntenDraw()
    EndIf
    If _IsPressed("26") And $Lauf = 1 Then
    $Link = 2
    _ObenDraw()
    EndIf
    EndFunc ;==>_Bewegung

    [/autoit]


    Die FUNC zum bewegen !!!


    So, hier noch ein BSP Script mit einem Baum (ihr könnt beliebig viele hinzufügen)

    Spoiler anzeigen
    [autoit]


    #include <GDIPlus.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>
    #include <GameUDF.au3>
    HotKeySet("{ESC}", "_Exit")
    HotKeySet("{SPACE}", "_Talk")
    _GDIPlus_Startup()
    Global $GUIWidth = 450, $GUIHeight = 250
    Global $Link = 1
    Global $Talk = 0
    Global $Lauf = 1

    [/autoit] [autoit][/autoit] [autoit]

    Global $Tree = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\Tree.PNG")
    ; _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageKiste, $KistePos1, $KistePos2, 25, 25) ;Trägt Kiste in Buffer ein
    ; _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageKiste, $KistePos1, $KistePos2, 25, 25) ; Trägt Kiste auch ein
    Global $MunzeZahl = 0
    Global $ImageFileHintergrund = @ScriptDir & "\Hintergrund450x250.PNG"
    Global $ImageFileLinkUnten = @ScriptDir & "\LinkUnten.PNG"
    Global $ImageFileLinkOben = @ScriptDir & "\LinkOben.PNG"
    Global $ImageFileLinkRechts = @ScriptDir & "\LinkRechts.PNG"
    Global $ImageFileLinkLinks = @ScriptDir & "\LinkLinks.PNG"
    Global $ImageFileKiste = @ScriptDir & "\Kiste.PNG"
    Global $ImageFileMunze = @ScriptDir & "\Munze.PNG"
    Global $ImageFileMunzeAnzahl0 = @ScriptDir & "\Munze03.PNG"
    Global $ImageFileMunzeAnzahl1 = @ScriptDir & "\Munze13.PNG"
    Global $ImageFileMunzeAnzahl2 = @ScriptDir & "\Munze23.PNG"
    Global $ImageFileMunzeAnzahl3 = @ScriptDir & "\Munze33.PNG"
    Global $ImageFileZiel = @ScriptDir & "\Ziel.PNG"
    Global $ImageFileText = @ScriptDir & "\TextFeld400x50.png"
    Global $ImageFileNpc1 = @ScriptDir & "\NPC1 25x34.PNG"

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Global $PosAktuell1 = 25
    Global $PosAktuell2 = 25 ;Y von Link

    [/autoit] [autoit][/autoit] [autoit]

    Global $KistePos1 = 100 ;Später für Kiste X
    Global $KistePos2 = 25 ;Später für Kiste Y

    [/autoit] [autoit][/autoit] [autoit]

    Global $Munze1Pos1 = 200
    Global $Munze1Pos2 = 50

    [/autoit] [autoit][/autoit] [autoit]

    Global $Munze2Pos1 = 300
    Global $Munze2Pos2 = 100

    [/autoit] [autoit][/autoit] [autoit]

    Global $Munze3Pos1 = 400
    Global $Munze3Pos2 = 200
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Domino Zelda --> Journy of GDI+", 450, 250, 192, 124)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $Graphic = _GDIPlus_GraphicsCreateFromHWND($Form1) ;Frontbuffer
    $Bitmap = _GDIPlus_BitmapCreateFromGraphics($GUIWidth, $GUIHeight, $Graphic) ;Bitmap für Frontbuffer
    $Backbuffer = _GDIPlus_ImageGetGraphicsContext($Bitmap) ;Backbuffer

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $ImageHintergrund = _GDIPlus_ImageLoadFromFile($ImageFileHintergrund)
    $ImageLinkUnten = _GDIPlus_ImageLoadFromFile($ImageFileLinkUnten)
    $ImageLinkOben = _GDIPlus_ImageLoadFromFile($ImageFileLinkOben)
    $ImageLinkRechts = _GDIPlus_ImageLoadFromFile($ImageFileLinkRechts)
    $ImageLinkLinks = _GDIPlus_ImageLoadFromFile($ImageFileLinkLinks)
    $ImageKiste = _GDIPlus_ImageLoadFromFile($ImageFileKiste)
    $ImageMunze = _GDIPlus_ImageLoadFromFile($ImageFileMunze)
    $ImageMunzeAnzahl0 = _GDIPlus_ImageLoadFromFile($ImageFileMunzeAnzahl0)
    $ImageMunzeAnzahl1 = _GDIPlus_ImageLoadFromFile($ImageFileMunzeAnzahl1)
    $ImageMunzeAnzahl2 = _GDIPlus_ImageLoadFromFile($ImageFileMunzeAnzahl2)
    $ImageMunzeAnzahl3 = _GDIPlus_ImageLoadFromFile($ImageFileMunzeAnzahl3)
    $ImageZiel = _GDIPlus_ImageLoadFromFile($ImageFileZiel)
    $ImageText = _GDIPlus_ImageLoadFromFile($ImageFileText)
    $ImageNPC1 = _GDIPlus_ImageLoadFromFile($ImageFileNpc1)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageHintergrund, 0, 0, $GUIWidth, $GUIHeight)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageLinkUnten, $PosAktuell1, $PosAktuell2, 25, 34)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $PosAktuell1, $PosAktuell2, 25, 34)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunzeAnzahl0, 0, 0, 25, 34)
    ;Münzen

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze1Pos1, $Munze1Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze2Pos1, $Munze2Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze3Pos1, $Munze3Pos2, 25, 25)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $GUIWidth, $GUIHeight) ; Back to front Buffer
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    _Exit()

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    _Bewegung()
    _ReDraw()
    WEnd
    Func _Exit()
    GUISetState(@SW_HIDE)
    Exit
    _GDIPlus_ImageDispose($ImageHintergrund)
    _GDIPlus_ImageDispose($ImageLinkUnten)
    _GDIPlus_ImageDispose($ImageLinkOben)
    _GDIPlus_ImageDispose($ImageLinkRechts)
    _GDIPlus_ImageDispose($ImageLinkLinks)
    _GDIPlus_ImageDispose($ImageKiste)
    _GDIPlus_ImageDispose($ImageMunze)
    _GDIPlus_ImageDispose($ImageMunzeAnzahl0)
    _GDIPlus_ImageDispose($ImageMunzeAnzahl1)
    _GDIPlus_ImageDispose($ImageMunzeAnzahl2)
    _GDIPlus_ImageDispose($ImageMunzeAnzahl3)
    _GDIPlus_ImageDispose($ImageText)
    _GDIPlus_ImageDispose($ImageZiel)
    _GDIPlus_GraphicsDispose($Backbuffer)
    _GDIPlus_BitmapDispose($Bitmap)
    _GDIPlus_GraphicsDispose($Graphic)
    _GDIPlus_Shutdown()
    EndFunc ;==>_Exit
    Func _ReDraw()
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageHintergrund, 0, 0, $GUIWidth, $GUIHeight)
    Switch $Link
    Case 1
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageLinkUnten, $PosAktuell1, $PosAktuell2, 25, 34)
    Case 2
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageLinkOben, $PosAktuell1, $PosAktuell2, 25, 34)
    Case 3
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageLinkRechts, $PosAktuell1, $PosAktuell2, 25, 34)
    Case 4
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageLinkLinks, $PosAktuell1, $PosAktuell2, 25, 34)
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Switch $MunzeZahl
    Case 0
    If ($PosAktuell1 >= $Munze1Pos1 - 25 And $PosAktuell1 <= $Munze1Pos1 + 25) and ($PosAktuell2 >= $Munze1Pos2 - 25 And $PosAktuell2 <= $Munze1Pos2 + 25) Then
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze2Pos1, $Munze2Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze3Pos1, $Munze3Pos2, 25, 25)
    $MunzeZahl = 1
    ElseIf ($PosAktuell1 >= $Munze2Pos1 - 25 And $PosAktuell1 <= $Munze2Pos1 + 25) and ($PosAktuell2 >= $Munze2Pos2 - 25 And $PosAktuell2 <= $Munze2Pos2 + 25) Then
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze1Pos1, $Munze1Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze3Pos1, $Munze3Pos2, 25, 25)
    $MunzeZahl = 2
    ElseIf ($PosAktuell1 >= $Munze3Pos1 - 25 And $PosAktuell1 <= $Munze3Pos1 + 25) and ($PosAktuell2 >= $Munze3Pos2 - 25 And $PosAktuell2 <= $Munze3Pos2 + 25) Then
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze1Pos1, $Munze1Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze2Pos1, $Munze2Pos2, 25, 25)
    $MunzeZahl = 3
    Else
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze1Pos1, $Munze1Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze2Pos1, $Munze2Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze3Pos1, $Munze3Pos2, 25, 25)
    EndIf
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunzeAnzahl0, 346, 0, 104, 23)
    Case 1 ;Münze 1 ist bereits aufgesammelt
    If ($PosAktuell1 >= $Munze2Pos1 - 25 And $PosAktuell1 <= $Munze2Pos1 + 25) and ($PosAktuell2 >= $Munze2Pos2 - 25 And $PosAktuell2 <= $Munze2Pos2 + 25) Then
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze1Pos1, $Munze1Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze3Pos1, $Munze3Pos2, 25, 25)
    $MunzeZahl = 12 ;Münze 1 + 2
    ElseIf ($PosAktuell1 >= $Munze3Pos1 - 25 And $PosAktuell1 <= $Munze3Pos1 + 25) and ($PosAktuell2 >= $Munze3Pos2 - 25 And $PosAktuell2 <= $Munze3Pos2 + 25) Then
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze1Pos1, $Munze1Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze2Pos1, $Munze2Pos2, 25, 25)
    $MunzeZahl = 13 ;Münze 1 + 3
    Else
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze2Pos1, $Munze2Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze3Pos1, $Munze3Pos2, 25, 25)
    EndIf
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunzeAnzahl1, 346, 0, 104, 23)
    Case 2 ;Münze 2 ist bereits aufgesammelt
    If ($PosAktuell1 >= $Munze1Pos1 - 25 And $PosAktuell1 <= $Munze1Pos1 + 25) and ($PosAktuell2 >= $Munze1Pos2 - 25 And $PosAktuell2 <= $Munze1Pos2 + 25) Then
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze2Pos1, $Munze2Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze3Pos1, $Munze3Pos2, 25, 25)
    $MunzeZahl = 21 ;Münze 2 + 1
    ElseIf ($PosAktuell1 >= $Munze3Pos1 - 25 And $PosAktuell1 <= $Munze3Pos1 + 25) and ($PosAktuell2 >= $Munze3Pos2 - 25 And $PosAktuell2 <= $Munze3Pos2 + 25) Then
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze1Pos1, $Munze1Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze2Pos1, $Munze2Pos2, 25, 25)
    $MunzeZahl = 23 ;Münze 2 + 3
    Else
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze1Pos1, $Munze1Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze3Pos1, $Munze3Pos2, 25, 25)
    EndIf
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunzeAnzahl1, 346, 0, 104, 23)
    Case 3 ;Münze 3 ist bereits aufgesammelt
    If ($PosAktuell1 >= $Munze1Pos1 - 25 And $PosAktuell1 <= $Munze1Pos1 + 25) and ($PosAktuell2 >= $Munze1Pos2 - 25 And $PosAktuell2 <= $Munze1Pos2 + 25) Then
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze2Pos1, $Munze2Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze3Pos1, $Munze3Pos2, 25, 25)
    $MunzeZahl = 31 ;Münze 3 + 1
    ElseIf ($PosAktuell1 >= $Munze2Pos1 - 25 And $PosAktuell1 <= $Munze2Pos1 + 25) and ($PosAktuell2 >= $Munze2Pos2 - 25 And $PosAktuell2 <= $Munze2Pos2 + 25) Then
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze1Pos1, $Munze1Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze3Pos1, $Munze3Pos2, 25, 25)
    $MunzeZahl = 32 ;Münze 3 + 2
    Else
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze1Pos1, $Munze1Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze2Pos1, $Munze2Pos2, 25, 25)
    EndIf
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunzeAnzahl1, 346, 0, 104, 23)
    Case 12 ;Münze 1 + 2 sind bereits aufgesammelt
    If ($PosAktuell1 >= $Munze3Pos1 - 25 And $PosAktuell1 <= $Munze3Pos1 + 25) and ($PosAktuell2 >= $Munze3Pos2 - 25 And $PosAktuell2 <= $Munze3Pos2 + 25) Then
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze1Pos1, $Munze1Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze2Pos1, $Munze2Pos2, 25, 25)
    $MunzeZahl = 123 ; 1 + 2 + 3
    Else
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze3Pos1, $Munze3Pos2, 25, 25)
    EndIf
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunzeAnzahl2, 346, 0, 104, 23)
    Case 13 ;Münze 1 + 3 sind bereits aufgesammelt
    If ($PosAktuell1 >= $Munze2Pos1 - 25 And $PosAktuell1 <= $Munze2Pos1 + 25) and ($PosAktuell2 >= $Munze2Pos2 - 25 And $PosAktuell2 <= $Munze2Pos2 + 25) Then
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze1Pos1, $Munze1Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze3Pos1, $Munze3Pos2, 25, 25)
    $MunzeZahl = 123
    Else
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze2Pos1, $Munze2Pos2, 25, 25)
    EndIf
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunzeAnzahl2, 346, 0, 104, 23)
    Case 21 ;Münze 2 + 1 sind bereits aufgesammelt
    If ($PosAktuell1 >= $Munze3Pos1 - 25 And $PosAktuell1 <= $Munze3Pos1 + 25) and ($PosAktuell2 >= $Munze3Pos2 - 25 And $PosAktuell2 <= $Munze3Pos2 + 25) Then
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze1Pos1, $Munze1Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze2Pos1, $Munze2Pos2, 25, 25)
    $MunzeZahl = 123
    Else
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze3Pos1, $Munze3Pos2, 25, 25)
    EndIf
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunzeAnzahl2, 346, 0, 104, 23)
    Case 23 ;Münze 2 + 3 sind bereits aufgesammelt
    If ($PosAktuell1 >= $Munze1Pos1 - 25 And $PosAktuell1 <= $Munze1Pos1 + 25) and ($PosAktuell2 >= $Munze1Pos2 - 25 And $PosAktuell2 <= $Munze1Pos2 + 25) Then
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze2Pos1, $Munze2Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze3Pos1, $Munze3Pos2, 25, 25)
    $MunzeZahl = 123
    Else
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze1Pos1, $Munze1Pos2, 25, 25)
    EndIf
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunzeAnzahl2, 346, 0, 104, 23)
    Case 31 ;Münze 3 + 1 sind bereits aufgesammelt
    If ($PosAktuell1 >= $Munze2Pos1 - 25 And $PosAktuell1 <= $Munze2Pos1 + 25) and ($PosAktuell2 >= $Munze2Pos2 - 25 And $PosAktuell2 <= $Munze2Pos2 + 25) Then
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze1Pos1, $Munze1Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze3Pos1, $Munze3Pos2, 25, 25)
    $MunzeZahl = 123
    Else
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze2Pos1, $Munze2Pos2, 25, 25)
    EndIf
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunzeAnzahl2, 346, 0, 104, 23)
    Case 32 ;Münze 3 + 2 sind bereits aufgesammelt
    If ($PosAktuell1 >= $Munze1Pos1 - 25 And $PosAktuell1 <= $Munze1Pos1 + 25) and ($PosAktuell2 >= $Munze1Pos2 - 25 And $PosAktuell2 <= $Munze1Pos2 + 25) Then
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze2Pos1, $Munze2Pos2, 25, 25)
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze3Pos1, $Munze3Pos2, 25, 25)
    $MunzeZahl = 123
    Else
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze1Pos1, $Munze1Pos2, 25, 25)
    EndIf
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunzeAnzahl2, 346, 0, 104, 23)

    [/autoit] [autoit][/autoit] [autoit]

    Case 123
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageZiel, 25, 25, 24, 32)
    If $PosAktuell1 <= 49 And $PosAktuell2 <= 57 Then
    MsgBox(0, "Herzlichen Glückwunsch !", "Du hast das Spiel von EliteMattthias erfolgreich bewältigt !")
    _Exit()
    EndIf
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunzeAnzahl3, 346, 0, 104, 23)

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageNPC1, 400, 25, 25, 34)
    Switch $Talk
    Case 1
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageText, 26, 174, 399, 50)
    _GDIPlus_GraphicsDrawString($Backbuffer, "Hallo mein Freund !", 45, 180)
    Case 2
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageText, 26, 174, 399, 50)
    _GDIPlus_GraphicsDrawString($Backbuffer, "Du spielst also das Spiel von EliteMattthias ?", 45, 180)
    Case 3
    _GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageText, 26, 174, 399, 50)
    _GDIPlus_GraphicsDrawString($Backbuffer, "Lass doch mal eine Bewertung auf AutoIt.de da !" & @CRLF & "Ich denke EliteMattthias freut sich über jede Bewertung !", 45, 180)
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    _TreeCreate($Backbuffer, $PosAktuell1, $PosAktuell2, 25, 34, 200, 150, $Tree) ;UDF
    _GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $GUIWidth, $GUIHeight) ; Back to front Buffer
    EndFunc ;==>_ReDraw
    Func _LinksDraw()
    If $PosAktuell1 <= 25 Then
    $PosAktuell1 = 25
    Else
    $PosAktuell1 -= 3
    EndIf
    EndFunc ;==>_LinksDraw
    Func _RechtsDraw()
    If $PosAktuell1 >= 400 Then
    $PosAktuell1 = 400
    ElseIf $PosAktuell1 <= 425 And $PosAktuell1 >= 375 And $PosAktuell2 <= 59 Then
    Else
    $PosAktuell1 += 3
    EndIf
    EndFunc ;==>_RechtsDraw
    Func _ObenDraw()
    If $PosAktuell2 <= 25 Then
    $PosAktuell2 = 25
    ElseIf $PosAktuell1 <= 425 And $PosAktuell1 >= 377 And $PosAktuell2 <= 62 Then
    Else
    $PosAktuell2 -= 3
    EndIf
    EndFunc ;==>_ObenDraw
    Func _UntenDraw()
    If $PosAktuell2 >= 191 Then
    $PosAktuell2 = 191
    Else
    $PosAktuell2 += 3
    EndIf
    EndFunc ;==>_UntenDraw
    Func _Talk()
    If $PosAktuell1 <= 425 And $PosAktuell1 >= 375 And $PosAktuell2 <= 62 Then
    $Lauf = 0
    Switch $Talk
    Case 0
    $Talk = 1
    Case 1
    $Talk = 2
    Case 2
    $Talk = 3
    Case 3
    $Talk = 0
    $Lauf = 1
    EndSwitch
    EndIf
    EndFunc ;==>_Talk
    Func _Bewegung()
    If _IsPressed("25") And $Lauf = 1 Then
    $Link = 4
    _LinksDraw()
    EndIf
    If _IsPressed("27") And $Lauf = 1 Then
    $Link = 3
    _RechtsDraw()
    EndIf
    If _IsPressed("28") And $Lauf = 1 Then
    $Link = 1
    _UntenDraw()
    EndIf
    If _IsPressed("26") And $Lauf = 1 Then
    $Link = 2
    _ObenDraw()
    EndIf
    EndFunc ;==>_Bewegung

    [/autoit]
  • Ok ok :D
    Ich werde es mir merken !
    So name22, jetzt code ich den LV Editor, dann die Monster, und dann ZELDA !

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Zitat

    So name22, jetzt code ich den LV Editor, dann die Monster, und dann ZELDA !


    Ich bin gespannt was dabei herauskommt ;). Bis jetzt hast du mehr fertiggebracht als ich erwartet habe. :thumbup:
    Ich dachte du schmeißt GDI+ nach einem Tag wieder hin. :whistling:

  • Nein ?

    Ich wollte nur mal was cooleres lernen :D
    Etwas was im Forum mehr angesehen wird :D

    Und zudem habe ich mir GDI+ Ja auch selber und ohne ständige Hilfethreads bei gebracht !
    Sogar das Spiel ist 100 % aus meinen Fingern + meiner Schläpp Tastatur entstanden

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal