Jeah
GDI+ Domino-Zelda
-
-
So...
Stand meines LV - Editors:
Man kann ZEICHNEN und er kann AUSLESEN !!!
Das ist auch schon beachtloich
-
Spoiler anzeigen
Zitat von EliteMattthiasbeachtloich
Wer Rechtschreibfehler findet, darf sie behalten
MEINS
wird ganz gut dein Zelda spiel, vlt. macht noch jmd. das spiel Metroid Fusion oder andere... -
Jau
Boah unsere WAT Lehrerin ist voll gechillt
-
was ist denn ein WAT ??
(sieh mal in meine Signatur mit dem Spoiler T.E.A.M.) -
Wtf ?
Ich code meine programme selber O.o ?
-
Und wenn dus Selber machst, hat ja Auch nix mit T.E.A.M zu tun
-
T.E.A.M <> TEAM
So, stand meiner udf für LV Editor:
Spoiler anzeigen
-Münzen UDF Fertig
-Laufen UDF Fertig
-Baum UDF Fertig (als Objekt)Fehlen noch:
-UDF für NPC
-UDF für Portal -
Sieht gut aus . kannst es ja um einige level erweitern
-
-.-
Rate mal weshalb ich grade den LV editor baue ?
1. Damit ihr euch eigene LVs bauen könnt
2. Damit ich euch eigene LVs bauen kann -
So
Fertig zu c.a. 80 % ist jetzt meine UDF
Ich habe den 400 Zeilen Code des Scriptes auf 70 Zeilen im eigentlichen code beschränkt !
Und das ist die UDF:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <GDIPlus.au3>
#include <Misc.au3>
#cs
; UDF: GDIPlus Domino - Zelda alias "Zeichen Papier" Tree UDF
;
; Author: EliteMattthias
;
; Func Name: _TreeCreate($BackBuffer, $PersonX, $PersonY, $TreeX, $TreeY, $TreeFile,[$PersonWidth, [$PersonHeight, [$TreeWidth=25,[ $TreeHeight=25]]]])
;
; Parameter(s): $BackBuffer = Backbuffer auf den der Baum gezeichnet wird
; $PersonX = Die X Position der Person (vorher in Variable definieren)
; $PersonY = Die Y Position der Person (vorher in Variable definieren)
; $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)
; $PersonWidth = Die Breite der Person
; $PersonHeight = Die Höhe der Person
;
;
; 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, $TreeX, $TreeY, $TreeFile, $PersonWidth = 25, $PersonHeight = 34, $TreeWidth = 25, $TreeHeight = 25)
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $TreeFile, $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 + 6) Then
$PosAktuell2 = $TreeY + $TreeHeight + 6
EndIf
EndFunc ;==>_TreeCreate
#cs
; UDF: GDIPlus Domino - Zelda alias "Zeichen Papier" NPC UDF
;
; Author: EliteMattthias
;
; Func Name: _NpcCreate($BackBuffer, $PersonX, $PersonY, $NPCX, $NPCY, $NpcFile, $Text,[ $PersonWidth, [$PersonHeight, [$NpcWidth = 25, [$NpcHeight = 34]]]])
;
; Parameter(s): $BackBuffer = Backbuffer auf den der NPC gezeichnet wird
; $PersonX = Die X Position der Person (vorher in Variable definieren)
; $PersonY = Die Y Position der Person (vorher in Variable definieren)
; $NPCX = Die X-Achse wo der NPC gezeichnet werden soll
; $NPCY = Die Y-Achse wo der NPC gezeichnet werden soll
; $File = Die Datei woraus der NPC entnommen wird (muss mit _GDIPlus_ImageLoadFromFile() geöffnet werden)
; $Text = Der Text den der NPC zu sagen hat, wenn man per LEERTASTE mit ihm spricht !
;
; <--OPTIONAL-->
;
; $PersonWidth = Die Breite der Person
; $PersonHeight = Die Höhe der Person
; $NpcWidth = Die Breite des NPCs (standard 25)
; $NpcHeight = Die Höhe des NPCs (standard 34)
;
;
; Funktion: Zeichnet einen NPC für das Spiel --GDIPlus Domino - Zelda alias "ZeichenPapier"-- der als Aufhaltendes Objekt wirkt und angesprochen werden kann !
;
; 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
Global $Laufen
Global $TalkTimer = TimerInit()
Func _NpcCreate($BackBuffer, $PersonX, $PersonY, $NPCX, $NPCY, $NpcFile, $Text, $TextAreaFile, $PersonWidth = 25, $PersonHeight = 34, $NpcWidth = 25, $NpcHeight = 34)
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $NpcFile, $NPCX, $NPCY, $NpcWidth, $NpcHeight)
If ($PersonX <= $NPCX + $NpcWidth And $PersonX + $PersonWidth - 1 >= $NPCX) and ($PersonY + $PersonHeight - 1 >= $NPCY And $PersonY <= $NPCY + $NpcHeight) Then ;Prüft ob die Person am BAUM von LINKS ist !
$PosAktuell1 = $NPCX - $PersonWidth
If _IsPressed("20") Then
$Laufen = 0
$Talk = 1
EndIf
ElseIf ($PersonX >= $NPCX + $NpcWidth And $PersonX <= $NPCX + $NpcWidth + 3) and ($PersonY + $PersonHeight - 1 >= $NPCY And $PersonY <= $NPCY + $NpcHeight) Then ; Prüft ob die Person am BAUM von RECHTS ist !
If _IsPressed("20") Then
$Laufen = 0
$Talk = 1
EndIf
$PosAktuell1 = $NPCX + $NpcWidth + 4
ElseIf ($PersonX >= $NPCX - $PersonWidth + 1 And $PersonX <= $NPCX + $NpcWidth) and ($PersonY <= $NPCY + 3 And $PersonY >= $NPCY - $PersonHeight - 3) Then
If _IsPressed("20") Then
$Laufen = 0
$Talk = 1
EndIf
$PosAktuell2 = $NPCY - $PersonHeight - 3
ElseIf ($PersonX >= $NPCX - $PersonWidth + 1 And $PersonX <= $NPCX + $NpcWidth) and ($PersonY >= $NPCY + $NpcHeight + 3 And $PersonY <= $NPCY + $NpcHeight + 6) Then
If _IsPressed("20") Then
$Laufen = 0
$Talk = 1
EndIf
$PosAktuell2 = $NPCY + $NpcHeight + 6
EndIf
Switch $Talk
Case 1
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $TextAreaFile, 26, 175, 400, 50)
_GDIPlus_GraphicsDrawString($BackBuffer, $Text, 43, 178)
If _IsPressed("20") And TimerDiff($TalkTimer) >= 500 Then
$TalkTimer = TimerInit()
$Talk = 0
$Laufen = 1
EndIf
EndSwitch
EndFunc ;==>_NpcCreate#cs
[/autoit] [autoit][/autoit] [autoit]
; UDF: GDIPlus Domino - Zelda alias "Zeichen Papier" Laufen UDF
;
; Author: EliteMattthias
;
; Func Name: _Laufen($BackBuffer, $LinkUnten, $LinkOben, $LinkRechts, $LinkLinks)
;
; Parameter(s): $BackBuffer = Backbuffer auf den Link gezeichnet wird
; $LinkUnten = Image das Link nach unten laufend darstellt
; $LinkOben = Image das Link nach oben laufend darstellt
; $LinkRechts = Image das Link nach rechts laufend darstellt
; $LinkLinks = Image das Link nach rechts laufend darstellt
;
;
; <--OPTIONAL-->
;
; $LinkWidth = Die Breite von Link (standard 25)
; $LinkHeight = Die Höhe von Link (standard 34)
;
;
; Funktion: Zum laufen des Spielcharakters in --GDIPlus Domino - Zelda alias "ZeichenPapier"-- !
;
; Includes: <GDIPlus.au3>
; <Misc.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
Global $Laufen
Global $Link
Func _Laufen($BackBuffer, $LinkUnten, $LinkOben, $LinkRechts, $LinkLinks, $LinkWidth = 25, $LinkHeight = 34)
Switch $Laufen
Case 0Case 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
If _IsPressed("25") Then
$PosAktuell1 -= 3
$Link = "Links"
EndIf
If _IsPressed("27") Then
$PosAktuell1 += 3
$Link = "Rechts"
EndIf
If _IsPressed("28") Then
$PosAktuell2 += 3
$Link = "Unten"
EndIf
If _IsPressed("26") Then
$PosAktuell2 -= 3
$Link = "Oben"
EndIf
EndSwitch
Switch $Link
Case "Unten"
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $LinkUnten, $PosAktuell1, $PosAktuell2, $LinkWidth, $LinkHeight)
Case "Oben"
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $LinkOben, $PosAktuell1, $PosAktuell2, $LinkWidth, $LinkHeight)
Case "Rechts"
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $LinkRechts, $PosAktuell1, $PosAktuell2, $LinkWidth, $LinkHeight)
Case "Links"
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $LinkLinks, $PosAktuell1, $PosAktuell2, $LinkWidth, $LinkHeight)
EndSwitch
EndFunc ;==>_Laufen#cs
[/autoit] [autoit][/autoit] [autoit]
; UDF: GDIPlus Domino - Zelda alias "Zeichen Papier" Laufen UDF
;
; Author: EliteMattthias
;
; Func Name: _MunzeCreate($BackBuffer, $PersonX, $PersonY, $MunzeX, $MunzeY, $ImageMunze,[ $PersonWidth = 25,[ $PersonHeight = 34,[ $MunzeWidth = 25,[ $MunzeHeight = 25]]]])
;
; Parameter(s): $BackBuffer = Backbuffer auf den die Münze gezeichnet wird
; $PersonX = Die X Position der Person (vorher in Variable definieren)
; $PersonY = Die Y Position der Person (vorher in Variable definieren)
; $MünzeX = Die X Position der Münze
; $MünzeY = Die Y Position der Münze
; $ImageMunze = Das Bild der Münze, geöffnet durch _GDIPlus_ImageLoadFromFile()
;
;
; <--OPTIONAL-->
;
; $PersonWidth = Die Breite der Person
; $PersonHeight = Die Höhe der Person
; $MünzeWidth = Die Breite der Münze
; $MünzeHeight = Die Höhe der Münze
;
;
; Funktion: Zum laufen des Spielcharakters in --GDIPlus Domino - Zelda alias "ZeichenPapier"-- !
;
; Includes: <GDIPlus.au3>
; <Misc.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
#ceGlobal $PosAktuell1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $PosAktuell2
Global $MunzeGesamt
Global $Munze1 = 0
Func _MunzeCreate1($BackBuffer, $PersonX, $PersonY, $MunzeX, $MunzeY, $ImageMunze, $PersonWidth = 25, $PersonHeight = 34, $MunzeWidth = 25, $MunzeHeight = 25)
If ($PersonX <= $MunzeX + $MunzeWidth And $PersonX + $PersonWidth - 1 >= $MunzeX) and ($PersonY + $PersonHeight - 1 >= $MunzeY And $PersonY <= $MunzeY + $MunzeHeight) Then
$Munze1 = 1
$MunzeGesamt += 1
ElseIf ($PersonX >= $MunzeX + $MunzeWidth And $PersonX <= $MunzeX + $MunzeWidth + 3) and ($PersonY + $PersonHeight - 1 >= $MunzeY And $PersonY <= $MunzeY + $MunzeHeight) Then
$Munze1 = 1
$MunzeGesamt += 1
ElseIf ($PersonX >= $MunzeX - $PersonWidth + 1 And $PersonX <= $MunzeX + $MunzeWidth) and ($PersonY <= $MunzeY + 3 And $PersonY >= $MunzeY - $PersonHeight - 3) Then
$Munze1 = 1
$MunzeGesamt += 1
ElseIf ($PersonX >= $MunzeX - $PersonWidth + 1 And $PersonX <= $MunzeX + $MunzeWidth) and ($PersonY >= $MunzeY + $MunzeHeight + 3 And $PersonY <= $MunzeY + $MunzeHeight + 6) Then
$Munze1 = 1
$MunzeGesamt += 1
EndIf
Switch $Munze1
Case 0
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $ImageMunze, $MunzeX, $MunzeY, 25, 25)
Case 1
$MunzeX = -25
$MunzeY = -25
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $ImageMunze, $MunzeX, $MunzeY, 25, 25)
EndSwitch
EndFunc ;==>_MunzeCreate1#cs
[/autoit] [autoit][/autoit] [autoit]
; UDF: GDIPlus Domino - Zelda alias "Zeichen Papier" Laufen UDF
;
; Author: EliteMattthias
;
; Func Name: _MunzeCreate($BackBuffer, $PersonX, $PersonY, $MunzeX, $MunzeY, $ImageMunze,[ $PersonWidth = 25,[ $PersonHeight = 34,[ $MunzeWidth = 25,[ $MunzeHeight = 25]]]])
;
; Parameter(s): $BackBuffer = Backbuffer auf den die Münze gezeichnet wird
; $PersonX = Die X Position der Person (vorher in Variable definieren)
; $PersonY = Die Y Position der Person (vorher in Variable definieren)
; $MünzeX = Die X Position der Münze
; $MünzeY = Die Y Position der Münze
; $ImageMunze = Das Bild der Münze, geöffnet durch _GDIPlus_ImageLoadFromFile()
;
;
; <--OPTIONAL-->
;
; $PersonWidth = Die Breite der Person
; $PersonHeight = Die Höhe der Person
; $MünzeWidth = Die Breite der Münze
; $MünzeHeight = Die Höhe der Münze
;
;
; Funktion: Zum laufen des Spielcharakters in --GDIPlus Domino - Zelda alias "ZeichenPapier"-- !
;
; Includes: <GDIPlus.au3>
; <Misc.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
#ceGlobal $PosAktuell1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $PosAktuell2
Global $MunzeGesamt
Global $Munze2 = 0
Func _MunzeCreate2($BackBuffer, $PersonX, $PersonY, $MunzeX, $MunzeY, $ImageMunze, $PersonWidth = 25, $PersonHeight = 34, $MunzeWidth = 25, $MunzeHeight = 25)
If ($PersonX <= $MunzeX + $MunzeWidth And $PersonX + $PersonWidth - 1 >= $MunzeX) and ($PersonY + $PersonHeight - 1 >= $MunzeY And $PersonY <= $MunzeY + $MunzeHeight) Then
$Munze2 = 1
$MunzeGesamt += 1
ElseIf ($PersonX >= $MunzeX + $MunzeWidth And $PersonX <= $MunzeX + $MunzeWidth + 3) and ($PersonY + $PersonHeight - 1 >= $MunzeY And $PersonY <= $MunzeY + $MunzeHeight) Then
$Munze2 = 1
$MunzeGesamt += 1
ElseIf ($PersonX >= $MunzeX - $PersonWidth + 1 And $PersonX <= $MunzeX + $MunzeWidth) and ($PersonY <= $MunzeY + 3 And $PersonY >= $MunzeY - $PersonHeight - 3) Then
$Munze2 = 1
$MunzeGesamt += 1
ElseIf ($PersonX >= $MunzeX - $PersonWidth + 1 And $PersonX <= $MunzeX + $MunzeWidth) and ($PersonY >= $MunzeY + $MunzeHeight + 3 And $PersonY <= $MunzeY + $MunzeHeight + 6) Then
$Munze2 = 1
$MunzeGesamt += 1
EndIf
Switch $Munze2
Case 0
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $ImageMunze, $MunzeX, $MunzeY, 25, 25)
Case 1
$MunzeX = -25
$MunzeY = -25
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $ImageMunze, $MunzeX, $MunzeY, 25, 25)
EndSwitch
EndFunc ;==>_MunzeCreate2#cs
[/autoit] [autoit][/autoit] [autoit]
; UDF: GDIPlus Domino - Zelda alias "Zeichen Papier" Laufen UDF
;
; Author: EliteMattthias
;
; Func Name: _MunzeCreate($BackBuffer, $PersonX, $PersonY, $MunzeX, $MunzeY, $ImageMunze,[ $PersonWidth = 25,[ $PersonHeight = 34,[ $MunzeWidth = 25,[ $MunzeHeight = 25]]]])
;
; Parameter(s): $BackBuffer = Backbuffer auf den die Münze gezeichnet wird
; $PersonX = Die X Position der Person (vorher in Variable definieren)
; $PersonY = Die Y Position der Person (vorher in Variable definieren)
; $MünzeX = Die X Position der Münze
; $MünzeY = Die Y Position der Münze
; $ImageMunze = Das Bild der Münze, geöffnet durch _GDIPlus_ImageLoadFromFile()
;
;
; <--OPTIONAL-->
;
; $PersonWidth = Die Breite der Person
; $PersonHeight = Die Höhe der Person
; $MünzeWidth = Die Breite der Münze
; $MünzeHeight = Die Höhe der Münze
;
;
; Funktion: Zum laufen des Spielcharakters in --GDIPlus Domino - Zelda alias "ZeichenPapier"-- !
;
; Includes: <GDIPlus.au3>
; <Misc.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
#ceGlobal $PosAktuell1
[/autoit]
Global $PosAktuell2
Global $MunzeGesamt
Global $Munze3 = 0
Func _MunzeCreate3($BackBuffer, $PersonX, $PersonY, $MunzeX, $MunzeY, $ImageMunze, $PersonWidth = 25, $PersonHeight = 34, $MunzeWidth = 25, $MunzeHeight = 25)
If ($PersonX <= $MunzeX + $MunzeWidth And $PersonX + $PersonWidth - 1 >= $MunzeX) and ($PersonY + $PersonHeight - 1 >= $MunzeY And $PersonY <= $MunzeY + $MunzeHeight) Then
$Munze3 = 1
$MunzeGesamt += 1
ElseIf ($PersonX >= $MunzeX + $MunzeWidth And $PersonX <= $MunzeX + $MunzeWidth + 3) and ($PersonY + $PersonHeight - 1 >= $MunzeY And $PersonY <= $MunzeY + $MunzeHeight) Then
$Munze3 = 1
$MunzeGesamt += 1
ElseIf ($PersonX >= $MunzeX - $PersonWidth + 1 And $PersonX <= $MunzeX + $MunzeWidth) and ($PersonY <= $MunzeY + 3 And $PersonY >= $MunzeY - $PersonHeight - 3) Then
$Munze3 = 1
$MunzeGesamt += 1
ElseIf ($PersonX >= $MunzeX - $PersonWidth + 1 And $PersonX <= $MunzeX + $MunzeWidth) and ($PersonY >= $MunzeY + $MunzeHeight + 3 And $PersonY <= $MunzeY + $MunzeHeight + 6) Then
$Munze3 = 1
$MunzeGesamt += 1
EndIf
Switch $Munze3
Case 0
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $ImageMunze, $MunzeX, $MunzeY, 25, 25)
Case 1
$MunzeX = -25
$MunzeY = -25
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $ImageMunze, $MunzeX, $MunzeY, 25, 25)
EndSwitch
EndFunc ;==>_MunzeCreate3Und ein Beispiel
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#include <GameUDF.au3>
_GDIPlus_Startup()
Global $GUIWidth = 450, $GUIHeight = 250
Global $Link = 1
Global $Talk = 0
Global $Laufen = 1
Global $ImageHintergrund = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\BACKGROUND.PNG")
Global $ImageLinkUnten = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\LinkUnten.PNG")
Global $ImageLinkOben = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\LinkOben.PNG")
Global $ImageLinkRechts = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\LinkRechts.PNG")
Global $ImageLinkLinks = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\LinkLinks.PNG")
Global $ImageMunze = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\Munze.PNG")
Global $ImageZiel = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\Ziel.PNG")
Global $ImageText = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\TextFeld.PNG")
Global $ImageNPC1 = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\NPC1.PNG")
Global $Tree = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\Tree.PNG")
Global $MunzeZahl = 0Global $PosAktuell1 = 25
[/autoit] [autoit][/autoit] [autoit]
Global $PosAktuell2 = 25
#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) ;BackbufferWhile 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
_Exit()
EndSwitch
_ReDraw()
WEnd
Func _ReDraw()
_GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageHintergrund, 0, 0, $GUIWidth, $GUIHeight)_TreeCreate($Backbuffer, $PosAktuell1, $PosAktuell2, 200, 150, $Tree) ;UDF
[/autoit]
_NpcCreate($Backbuffer, $PosAktuell1, $PosAktuell2, 200, 50, $ImageNPC1, "abc", $ImageText)
_MunzeCreate1($Backbuffer, $PosAktuell1, $PosAktuell2, 200, 100, $ImageMunze)
_MunzeCreate2($Backbuffer, $PosAktuell1, $PosAktuell2, 50, 150, $ImageMunze)
_MunzeCreate3($Backbuffer, $PosAktuell1, $PosAktuell2, 150, 50, $ImageMunze)
_Laufen($Backbuffer, $ImageLinkUnten, $ImageLinkOben, $ImageLinkRechts, $ImageLinkLinks)
_GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $GUIWidth, $GUIHeight) ; Back to front Buffer
EndFunc ;==>_ReDraw
Func _Exit()
GUISetState(@SW_HIDE)
Exit
_GDIPlus_ImageDispose($ImageHintergrund)
_GDIPlus_ImageDispose($ImageLinkUnten)
_GDIPlus_ImageDispose($ImageLinkOben)
_GDIPlus_ImageDispose($ImageLinkRechts)
_GDIPlus_ImageDispose($ImageLinkLinks)
_GDIPlus_ImageDispose($ImageMunze)
_GDIPlus_ImageDispose($ImageText)
_GDIPlus_ImageDispose($ImageZiel)
_GDIPlus_GraphicsDispose($Backbuffer)
_GDIPlus_BitmapDispose($Bitmap)
_GDIPlus_GraphicsDispose($Graphic)
_GDIPlus_Shutdown()
EndFunc ;==>_ExitUnd zum Download im Anhang (habe es genommen wie es ist ;))
-
Ich will ja nicht nerven, aber ich hätte da ein paar Dinge.
1. Wieso deklarierst du $PosAktuell1 und $PosAktuell2 mehrmals in der UDF?
2. Wenn du $PosAktuell1 und $PosAktuell2 schon in der UDF einmal deklarierst, wieso deklarierst du die nochmal in deinem Script?
3. Es ist sinnvoll als Funktionsnamen und Variablennamen die englische Schreibweise zu wählen, da evtl. jemand der deine UDF nimmt, der deutschen Sprache nicht mächtig ist.
4. Wenn du #cs und #ce benutzt brauchst du die Zeilen dazwischen nicht extra kommentieren mit ;. Das nur so am Rande. -
Ja und positives nichts ?
Ja hatte ich vergessen !das mit ; habe ich gemacht, weil es sonst komisch aussieht mit diesen | | |
-
Ich find positiv das du das echt durchziehst und langsam wirklich mit Plan und Kentnissen da ran gehtst
mfg Ubuntu
-
UdfUpdate:
Bessere Deklaration, Script übersichtlicher
Script:Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#include <GameUDF.au3>
_GDIPlus_Startup()
Global $GUIWidth = 450, $GUIHeight = 250
Global $ImageHintergrund = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\BACKGROUND.PNG")
Global $ImageLinkUnten = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\LinkUnten.PNG")
Global $ImageLinkOben = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\LinkOben.PNG")
Global $ImageLinkRechts = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\LinkRechts.PNG")
Global $ImageLinkLinks = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\LinkLinks.PNG")
Global $ImageMunze = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\Munze.PNG")
Global $ImageZiel = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\Ziel.PNG")
Global $ImageText = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\TextFeld.PNG")
Global $ImageNPC1 = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\NPC1.PNG")
Global $Tree = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\EDITOR\Tree.PNG")
Global $MunzeZahl = 0Global $PosAktuell1 = 25
[/autoit] [autoit][/autoit] [autoit]
Global $PosAktuell2 = 25
#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) ;BackbufferWhile 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
_Exit()
EndSwitch
_ReDraw()
WEnd
Func _ReDraw()
_GDIPlus_GraphicsDrawImageRect($Backbuffer, $ImageHintergrund, 0, 0, $GUIWidth, $GUIHeight)_TreeCreate($Backbuffer, $PosAktuell1, $PosAktuell2, 200, 150, $Tree) ;UDF
[/autoit]
_NpcCreate($Backbuffer, $PosAktuell1, $PosAktuell2, 200, 50, $ImageNPC1, "abc", $ImageText)
_MunzeCreate1($Backbuffer, $PosAktuell1, $PosAktuell2, 200, 100, $ImageMunze)
_MunzeCreate2($Backbuffer, $PosAktuell1, $PosAktuell2, 50, 150, $ImageMunze)
_MunzeCreate3($Backbuffer, $PosAktuell1, $PosAktuell2, 150, 50, $ImageMunze)
_Laufen($Backbuffer, $ImageLinkUnten, $ImageLinkOben, $ImageLinkRechts, $ImageLinkLinks)
_GDIPlus_GraphicsDrawImageRect($Graphic, $Bitmap, 0, 0, $GUIWidth, $GUIHeight) ; Back to front Buffer
EndFunc ;==>_ReDraw
Func _Exit()
GUISetState(@SW_HIDE)
Exit
_GDIPlus_ImageDispose($ImageHintergrund)
_GDIPlus_ImageDispose($ImageLinkUnten)
_GDIPlus_ImageDispose($ImageLinkOben)
_GDIPlus_ImageDispose($ImageLinkRechts)
_GDIPlus_ImageDispose($ImageLinkLinks)
_GDIPlus_ImageDispose($ImageMunze)
_GDIPlus_ImageDispose($ImageText)
_GDIPlus_ImageDispose($ImageZiel)
_GDIPlus_GraphicsDispose($Backbuffer)
_GDIPlus_BitmapDispose($Bitmap)
_GDIPlus_GraphicsDispose($Graphic)
_GDIPlus_Shutdown()
EndFunc ;==>_Exit
UDF:Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <GDIPlus.au3>
#include <Misc.au3>
Global $PosAktuell1
Global $PosAktuell2
Global $Laufen = 1
Global $Link = 1
Global $TalkTimer = TimerInit()
Global $MunzeGesamt
Global $Munze1 = 0
Global $Munze2 = 0
Global $Munze3 = 0
Global $Talk = 0
#cs
; UDF: GDIPlus Domino - Zelda alias "Zeichen Papier" Tree UDF
;
; Author: EliteMattthias
;
; Func Name: _TreeCreate($BackBuffer, $PersonX, $PersonY, $TreeX, $TreeY, $TreeFile,[$PersonWidth, [$PersonHeight, [$TreeWidth=25,[ $TreeHeight=25]]]])
;
; Parameter(s): $BackBuffer = Backbuffer auf den der Baum gezeichnet wird
; $PersonX = Die X Position der Person (vorher in Variable definieren)
; $PersonY = Die Y Position der Person (vorher in Variable definieren)
; $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)
; $PersonWidth = Die Breite der Person
; $PersonHeight = Die Höhe der Person
;
;
; 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
#ceFunc _TreeCreate($BackBuffer, $PersonX, $PersonY, $TreeX, $TreeY, $TreeFile, $PersonWidth = 25, $PersonHeight = 34, $TreeWidth = 25, $TreeHeight = 25)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $TreeFile, $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 + 6) Then
$PosAktuell2 = $TreeY + $TreeHeight + 6
EndIf
EndFunc ;==>_TreeCreate
#cs
; UDF: GDIPlus Domino - Zelda alias "Zeichen Papier" NPC UDF
;
; Author: EliteMattthias
;
; Func Name: _NpcCreate($BackBuffer, $PersonX, $PersonY, $NPCX, $NPCY, $NpcFile, $Text,[ $PersonWidth, [$PersonHeight, [$NpcWidth = 25, [$NpcHeight = 34]]]])
;
; Parameter(s): $BackBuffer = Backbuffer auf den der NPC gezeichnet wird
; $PersonX = Die X Position der Person (vorher in Variable definieren)
; $PersonY = Die Y Position der Person (vorher in Variable definieren)
; $NPCX = Die X-Achse wo der NPC gezeichnet werden soll
; $NPCY = Die Y-Achse wo der NPC gezeichnet werden soll
; $File = Die Datei woraus der NPC entnommen wird (muss mit _GDIPlus_ImageLoadFromFile() geöffnet werden)
; $Text = Der Text den der NPC zu sagen hat, wenn man per LEERTASTE mit ihm spricht !
;
; <--OPTIONAL-->
;
; $PersonWidth = Die Breite der Person
; $PersonHeight = Die Höhe der Person
; $NpcWidth = Die Breite des NPCs (standard 25)
; $NpcHeight = Die Höhe des NPCs (standard 34)
;
;
; Funktion: Zeichnet einen NPC für das Spiel --GDIPlus Domino - Zelda alias "ZeichenPapier"-- der als Aufhaltendes Objekt wirkt und angesprochen werden kann !
;
; 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
Func _NpcCreate($BackBuffer, $PersonX, $PersonY, $NPCX, $NPCY, $NpcFile, $Text, $TextAreaFile, $PersonWidth = 25, $PersonHeight = 34, $NpcWidth = 25, $NpcHeight = 34)
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $NpcFile, $NPCX, $NPCY, $NpcWidth, $NpcHeight)
If ($PersonX <= $NPCX + $NpcWidth And $PersonX + $PersonWidth - 1 >= $NPCX) and ($PersonY + $PersonHeight - 1 >= $NPCY And $PersonY <= $NPCY + $NpcHeight) Then ;Prüft ob die Person am BAUM von LINKS ist !
$PosAktuell1 = $NPCX - $PersonWidth
If _IsPressed("20") Then
$Laufen = 0
$Talk = 1
EndIf
ElseIf ($PersonX >= $NPCX + $NpcWidth And $PersonX <= $NPCX + $NpcWidth + 3) and ($PersonY + $PersonHeight - 1 >= $NPCY And $PersonY <= $NPCY + $NpcHeight) Then ; Prüft ob die Person am BAUM von RECHTS ist !
If _IsPressed("20") Then
$Laufen = 0
$Talk = 1
EndIf
$PosAktuell1 = $NPCX + $NpcWidth + 4
ElseIf ($PersonX >= $NPCX - $PersonWidth + 1 And $PersonX <= $NPCX + $NpcWidth) and ($PersonY <= $NPCY + 3 And $PersonY >= $NPCY - $PersonHeight - 3) Then
If _IsPressed("20") Then
$Laufen = 0
$Talk = 1
EndIf
$PosAktuell2 = $NPCY - $PersonHeight - 3
ElseIf ($PersonX >= $NPCX - $PersonWidth + 1 And $PersonX <= $NPCX + $NpcWidth) and ($PersonY >= $NPCY + $NpcHeight + 3 And $PersonY <= $NPCY + $NpcHeight + 6) Then
If _IsPressed("20") Then
$Laufen = 0
$Talk = 1
EndIf
$PosAktuell2 = $NPCY + $NpcHeight + 6
EndIf
Switch $Talk
Case 1
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $TextAreaFile, 26, 175, 400, 50)
_GDIPlus_GraphicsDrawString($BackBuffer, $Text, 43, 178)
If _IsPressed("20") And TimerDiff($TalkTimer) >= 500 Then
$TalkTimer = TimerInit()
$Talk = 0
$Laufen = 1
EndIf
EndSwitch
EndFunc ;==>_NpcCreate#cs
[/autoit] [autoit][/autoit] [autoit]
; UDF: GDIPlus Domino - Zelda alias "Zeichen Papier" Laufen UDF
;
; Author: EliteMattthias
;
; Func Name: _Laufen($BackBuffer, $LinkUnten, $LinkOben, $LinkRechts, $LinkLinks)
;
; Parameter(s): $BackBuffer = Backbuffer auf den Link gezeichnet wird
; $LinkUnten = Image das Link nach unten laufend darstellt
; $LinkOben = Image das Link nach oben laufend darstellt
; $LinkRechts = Image das Link nach rechts laufend darstellt
; $LinkLinks = Image das Link nach rechts laufend darstellt
;
;
; <--OPTIONAL-->
;
; $LinkWidth = Die Breite von Link (standard 25)
; $LinkHeight = Die Höhe von Link (standard 34)
;
;
; Funktion: Zum laufen des Spielcharakters in --GDIPlus Domino - Zelda alias "ZeichenPapier"-- !
;
; Includes: <GDIPlus.au3>
; <Misc.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
Func _Laufen($BackBuffer, $LinkUnten, $LinkOben, $LinkRechts, $LinkLinks, $LinkWidth = 25, $LinkHeight = 34)
Switch $Laufen
Case 0Case 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
If _IsPressed("25") Then
$PosAktuell1 -= 3
$Link = "Links"
EndIf
If _IsPressed("27") Then
$PosAktuell1 += 3
$Link = "Rechts"
EndIf
If _IsPressed("28") Then
$PosAktuell2 += 3
$Link = "Unten"
EndIf
If _IsPressed("26") Then
$PosAktuell2 -= 3
$Link = "Oben"
EndIf
EndSwitch
Switch $Link
Case "Unten"
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $LinkUnten, $PosAktuell1, $PosAktuell2, $LinkWidth, $LinkHeight)
Case "Oben"
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $LinkOben, $PosAktuell1, $PosAktuell2, $LinkWidth, $LinkHeight)
Case "Rechts"
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $LinkRechts, $PosAktuell1, $PosAktuell2, $LinkWidth, $LinkHeight)
Case "Links"
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $LinkLinks, $PosAktuell1, $PosAktuell2, $LinkWidth, $LinkHeight)
EndSwitch
EndFunc ;==>_Laufen#cs
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
; UDF: GDIPlus Domino - Zelda alias "Zeichen Papier" Laufen UDF
;
; Author: EliteMattthias
;
; Func Name: _MunzeCreate($BackBuffer, $PersonX, $PersonY, $MunzeX, $MunzeY, $ImageMunze,[ $PersonWidth = 25,[ $PersonHeight = 34,[ $MunzeWidth = 25,[ $MunzeHeight = 25]]]])
;
; Parameter(s): $BackBuffer = Backbuffer auf den die Münze gezeichnet wird
; $PersonX = Die X Position der Person (vorher in Variable definieren)
; $PersonY = Die Y Position der Person (vorher in Variable definieren)
; $MünzeX = Die X Position der Münze
; $MünzeY = Die Y Position der Münze
; $ImageMunze = Das Bild der Münze, geöffnet durch _GDIPlus_ImageLoadFromFile()
;
;
; <--OPTIONAL-->
;
; $PersonWidth = Die Breite der Person
; $PersonHeight = Die Höhe der Person
; $MünzeWidth = Die Breite der Münze
; $MünzeHeight = Die Höhe der Münze
;
;
; Funktion: Zum laufen des Spielcharakters in --GDIPlus Domino - Zelda alias "ZeichenPapier"-- !
;
; Includes: <GDIPlus.au3>
; <Misc.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
Func _MunzeCreate1($BackBuffer, $PersonX, $PersonY, $MunzeX, $MunzeY, $ImageMunze, $PersonWidth = 25, $PersonHeight = 34, $MunzeWidth = 25, $MunzeHeight = 25)
If ($PersonX <= $MunzeX + $MunzeWidth And $PersonX + $PersonWidth - 1 >= $MunzeX) and ($PersonY + $PersonHeight - 1 >= $MunzeY And $PersonY <= $MunzeY + $MunzeHeight) Then
$Munze1 = 1
$MunzeGesamt += 1
ElseIf ($PersonX >= $MunzeX + $MunzeWidth And $PersonX <= $MunzeX + $MunzeWidth + 3) and ($PersonY + $PersonHeight - 1 >= $MunzeY And $PersonY <= $MunzeY + $MunzeHeight) Then
$Munze1 = 1
$MunzeGesamt += 1
ElseIf ($PersonX >= $MunzeX - $PersonWidth + 1 And $PersonX <= $MunzeX + $MunzeWidth) and ($PersonY <= $MunzeY + 3 And $PersonY >= $MunzeY - $PersonHeight - 3) Then
$Munze1 = 1
$MunzeGesamt += 1
ElseIf ($PersonX >= $MunzeX - $PersonWidth + 1 And $PersonX <= $MunzeX + $MunzeWidth) and ($PersonY >= $MunzeY + $MunzeHeight + 3 And $PersonY <= $MunzeY + $MunzeHeight + 6) Then
$Munze1 = 1
$MunzeGesamt += 1
EndIf
Switch $Munze1
Case 0
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $ImageMunze, $MunzeX, $MunzeY, 25, 25)
Case 1
$MunzeX = -25
$MunzeY = -25
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $ImageMunze, $MunzeX, $MunzeY, 25, 25)
EndSwitch
EndFunc ;==>_MunzeCreate1#cs
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
; UDF: GDIPlus Domino - Zelda alias "Zeichen Papier" Laufen UDF
;
; Author: EliteMattthias
;
; Func Name: _MunzeCreate($BackBuffer, $PersonX, $PersonY, $MunzeX, $MunzeY, $ImageMunze,[ $PersonWidth = 25,[ $PersonHeight = 34,[ $MunzeWidth = 25,[ $MunzeHeight = 25]]]])
;
; Parameter(s): $BackBuffer = Backbuffer auf den die Münze gezeichnet wird
; $PersonX = Die X Position der Person (vorher in Variable definieren)
; $PersonY = Die Y Position der Person (vorher in Variable definieren)
; $MünzeX = Die X Position der Münze
; $MünzeY = Die Y Position der Münze
; $ImageMunze = Das Bild der Münze, geöffnet durch _GDIPlus_ImageLoadFromFile()
;
;
; <--OPTIONAL-->
;
; $PersonWidth = Die Breite der Person
; $PersonHeight = Die Höhe der Person
; $MünzeWidth = Die Breite der Münze
; $MünzeHeight = Die Höhe der Münze
;
;
; Funktion: Zum laufen des Spielcharakters in --GDIPlus Domino - Zelda alias "ZeichenPapier"-- !
;
; Includes: <GDIPlus.au3>
; <Misc.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
Func _MunzeCreate2($BackBuffer, $PersonX, $PersonY, $MunzeX, $MunzeY, $ImageMunze, $PersonWidth = 25, $PersonHeight = 34, $MunzeWidth = 25, $MunzeHeight = 25)
If ($PersonX <= $MunzeX + $MunzeWidth And $PersonX + $PersonWidth - 1 >= $MunzeX) and ($PersonY + $PersonHeight - 1 >= $MunzeY And $PersonY <= $MunzeY + $MunzeHeight) Then
$Munze2 = 1
$MunzeGesamt += 1
ElseIf ($PersonX >= $MunzeX + $MunzeWidth And $PersonX <= $MunzeX + $MunzeWidth + 3) and ($PersonY + $PersonHeight - 1 >= $MunzeY And $PersonY <= $MunzeY + $MunzeHeight) Then
$Munze2 = 1
$MunzeGesamt += 1
ElseIf ($PersonX >= $MunzeX - $PersonWidth + 1 And $PersonX <= $MunzeX + $MunzeWidth) and ($PersonY <= $MunzeY + 3 And $PersonY >= $MunzeY - $PersonHeight - 3) Then
$Munze2 = 1
$MunzeGesamt += 1
ElseIf ($PersonX >= $MunzeX - $PersonWidth + 1 And $PersonX <= $MunzeX + $MunzeWidth) and ($PersonY >= $MunzeY + $MunzeHeight + 3 And $PersonY <= $MunzeY + $MunzeHeight + 6) Then
$Munze2 = 1
$MunzeGesamt += 1
EndIf
Switch $Munze2
Case 0
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $ImageMunze, $MunzeX, $MunzeY, 25, 25)
Case 1
$MunzeX = -25
$MunzeY = -25
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $ImageMunze, $MunzeX, $MunzeY, 25, 25)
EndSwitch
EndFunc ;==>_MunzeCreate2#cs
[/autoit]
; UDF: GDIPlus Domino - Zelda alias "Zeichen Papier" Laufen UDF
;
; Author: EliteMattthias
;
; Func Name: _MunzeCreate($BackBuffer, $PersonX, $PersonY, $MunzeX, $MunzeY, $ImageMunze,[ $PersonWidth = 25,[ $PersonHeight = 34,[ $MunzeWidth = 25,[ $MunzeHeight = 25]]]])
;
; Parameter(s): $BackBuffer = Backbuffer auf den die Münze gezeichnet wird
; $PersonX = Die X Position der Person (vorher in Variable definieren)
; $PersonY = Die Y Position der Person (vorher in Variable definieren)
; $MünzeX = Die X Position der Münze
; $MünzeY = Die Y Position der Münze
; $ImageMunze = Das Bild der Münze, geöffnet durch _GDIPlus_ImageLoadFromFile()
;
;
; <--OPTIONAL-->
;
; $PersonWidth = Die Breite der Person
; $PersonHeight = Die Höhe der Person
; $MünzeWidth = Die Breite der Münze
; $MünzeHeight = Die Höhe der Münze
;
;
; Funktion: Zum laufen des Spielcharakters in --GDIPlus Domino - Zelda alias "ZeichenPapier"-- !
;
; Includes: <GDIPlus.au3>
; <Misc.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
Func _MunzeCreate3($BackBuffer, $PersonX, $PersonY, $MunzeX, $MunzeY, $ImageMunze, $PersonWidth = 25, $PersonHeight = 34, $MunzeWidth = 25, $MunzeHeight = 25)
If ($PersonX <= $MunzeX + $MunzeWidth And $PersonX + $PersonWidth - 1 >= $MunzeX) and ($PersonY + $PersonHeight - 1 >= $MunzeY And $PersonY <= $MunzeY + $MunzeHeight) Then
$Munze3 = 1
$MunzeGesamt += 1
ElseIf ($PersonX >= $MunzeX + $MunzeWidth And $PersonX <= $MunzeX + $MunzeWidth + 3) and ($PersonY + $PersonHeight - 1 >= $MunzeY And $PersonY <= $MunzeY + $MunzeHeight) Then
$Munze3 = 1
$MunzeGesamt += 1
ElseIf ($PersonX >= $MunzeX - $PersonWidth + 1 And $PersonX <= $MunzeX + $MunzeWidth) and ($PersonY <= $MunzeY + 3 And $PersonY >= $MunzeY - $PersonHeight - 3) Then
$Munze3 = 1
$MunzeGesamt += 1
ElseIf ($PersonX >= $MunzeX - $PersonWidth + 1 And $PersonX <= $MunzeX + $MunzeWidth) and ($PersonY >= $MunzeY + $MunzeHeight + 3 And $PersonY <= $MunzeY + $MunzeHeight + 6) Then
$Munze3 = 1
$MunzeGesamt += 1
EndIf
Switch $Munze3
Case 0
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $ImageMunze, $MunzeX, $MunzeY, 25, 25)
Case 1
$MunzeX = -25
$MunzeY = -25
_GDIPlus_GraphicsDrawImageRect($BackBuffer, $ImageMunze, $MunzeX, $MunzeY, 25, 25)
EndSwitch
EndFunc ;==>_MunzeCreate3 -
Nur wegen einer GUI ohne Controls benutzt du Koda??? Wenn du das direkt in Scite schreibst ist das doch schneller als das mit Koda zu machen.
Aber sonst siehts schon besser aus
-
ich will ja nicht stören, aber wenn wir onehin schon kritisieren, dann...
[autoit]#include <WindowsConstants.au3>
[/autoit]
#include <Misc.au3>ist absolut überflüssig ^^... und wenn du statt $GUI_EVENT_CLOSE -3 einsetzt, dann kannst du dir auch noch
[autoit]#include <GUIConstantsEx.au3>
[/autoit]sparen
sonst ists wirklich schön geworden, gut gemacht... zwar verschwindet die figur am anfang noch aber egalEdit 1:
Edit1:
Habe die begründung vergessen:
Misc.au3 nicht weil sie schon in der udf ist *kopfschüttel*
Windowsconstants.au3 hat dir Koda aus sorge aufgeschwazt, brauchst du garnicht...
und:
nörgel nörgel nörgel -
-
Bezüglich includes und Konstanten gibt es unterschiedliche Meinungen.
Die benötigten Funktionen aus den includes kopieren und die Konstanten ersetzen mache ich immer ganz zum Schluss und auch nur wenn es nötig ist.
Das macht das Skript lesbar und spart Entwicklungszeit.In der Downloadversion kann man um unnötigen Traffic zu vermeiden das Skript natürlich optimieren, gerade für die "kompilierte" Version.
-
Du solltest auf jeden fall deaktivieren, dass man mit der Figur aus der GUI fahren kann
-