@EM: Hör bitte mal auf die Entertaste so oft zu drücken! Auch wenns so viel Spaß macht.
ne? :pinch:
@EM: Hör bitte mal auf die Entertaste so oft zu drücken! Auch wenns so viel Spaß macht.
ne? :pinch:
Super EM haste endlich mal was vernünftiges gemacht !!
Aber ich kenne da noch so einen strategen der oft Enter drück. Bei ihm is das nicht ganz so schlimm. Ihr dürft mal raten wers ist.
Aber ich kenne da noch so einen strategen der oft Enter drück. Bei ihm is das nicht ganz so schlimm. Ihr dürft mal raten wers ist.
Ich?
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:
haha geiles spiel ;D sowas ist mein ziel xD
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 !
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)
So, Script hat UPDATE:
NPC der Mit dir redet:
Zum reden LEERTASTE benutzen !
Ich versteh nicht, warum du so viele Bilder machst.
Man könnte das locker mit GDI+ machen.
Jep schon, sogar die Münzen
Sry das ich net in Skype on komme, habe grade 0 Zeit -.-
Ich schreib dir mal die Münzen in GDI+.
Edit: Gesagt, getahn:
#include <GDIPlus.au3>
#include <Misc.au3>
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
_Startup()
_Draw()
_Update()
While 1
$MousePos = MouseGetPos()
WinMove($title, "", $MousePos[0], $MousePos[1])
If _IsPressed("1B", $user32) And _IsPressed("A2", $user32) Then _Close()
Sleep(10)
WEnd
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
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
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)
$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)
$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)
$ScreenDc = _WinAPI_GetDC($hWnd)
$dc = _WinAPI_CreateCompatibleDC($ScreenDc)
$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)
_GDIPlus_GraphicsClear($backbuffer, 0x00000000)
GUISetState()
EndFunc
Func _GDIClose()
_GDIPlus_GraphicsDispose($backbuffer)
_GDIPlus_BitmapDispose($hBitmap)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_Shutdown()
EndFunc
Func _Close()
DllClose($user32)
GUISetState(@SW_MINIMIZE, $hWnd)
Exit
EndFunc
Func _GDIPlus_BrushCreateLinear($iX1, $iY1, $iX2, $iY2, $iARGB1 = 0xFF000000, $iARGB2 = 0xFFFFFFFF)
Local $aResult, $start, $end, $sPoint, $ePoint
$start = DllStructCreate("int X;int Y")
DllStructSetData($start, "X", $iX1)
DllStructSetData($start, "Y", $iY1)
$sPoint = DllStructGetPtr($start)
$end = DllStructCreate("int X;int Y")
DllStructSetData($end, "X", $iX2)
DllStructSetData($end, "Y", $iY2)
$ePoint = DllStructGetPtr($end)
$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)
Return SetError(0, $aResult[0], $aResult[6])
EndFunc ;==>_GDIPlus_BrushCreateLinear
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??????? ])
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 !!!
#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
Ihr benötigt nähmlich das:
;Am anfang eures Scriptes
Global $PosAktuell1
Global $PosAktuell2
;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
Die FUNC zum bewegen !!!
So, hier noch ein BSP Script mit einem Baum (ihr könnt beliebig viele hinzufügen)
#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
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"
Global $PosAktuell1 = 25
Global $PosAktuell2 = 25 ;Y von Link
Global $KistePos1 = 100 ;Später für Kiste X
Global $KistePos2 = 25 ;Später für Kiste Y
Global $Munze1Pos1 = 200
Global $Munze1Pos2 = 50
Global $Munze2Pos1 = 300
Global $Munze2Pos2 = 100
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
$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)
_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
_GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze1Pos1, $Munze1Pos2, 25, 25)
_GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze2Pos1, $Munze2Pos2, 25, 25)
_GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageMunze, $Munze3Pos1, $Munze3Pos2, 25, 25)
_GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $GUIWidth, $GUIHeight) ; Back to front Buffer
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
_Exit()
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
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)
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)
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
_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
(Mal) was gut gemacht . (Anerkennung von mir für dich... nj egal)
EGAL ?
EGAL ???
EGAL ?????
DAS IST DIE UDF FÜR DEN LV EDITOR
ZitatAlles anzeigenEGAL ?
EGAL ???
EGAL ?????
DAS IST DIE UDF FÜR DEN LV EDITOR
Du lässt immer noch deinen Finger zu lange auf der Entertaste ruhen...
Ok ok
Ich werde es mir merken !
So name22, jetzt code ich den LV Editor, dann die Monster, und dann ZELDA !
ZitatSo 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.
Ich dachte du schmeißt GDI+ nach einem Tag wieder hin.
Nein ?
Ich wollte nur mal was cooleres lernen
Etwas was im Forum mehr angesehen wird
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
Wow du lernst das mit {Enter} ja iwann noch...
Du machst Vortschritte. Lasst uns feiern .