Pokemon Programmieren Brauche dringend Hilfe Verfasst am: 23.07.2010, 18:42
Ich bedanke mich im voraus an allen Antwortern. Ich bin total verzweifelt .
Ich will gerdade ein neues Pokemon Spiel machen und verzweifle schon seit einer Woche an folgewnder Frage:
Erstmal habe ich den Hauptordner "Pokemon Granit". In diesem Ordner ist erstmal das Perojekt und der Unterordner "Bilder". Ersmal kein Problem aberjetzt kommts:
Im Hauptordner ist die Datei Welt.txt:
Baum1.bmp ; 1 ; 0 ; 0
Baum1.bmp ist eines der Bilder die geladen werden sollen, ferner existieren noch Bilder wie wiese1.bmp usw...
Der Code ist bis jetzt folgender:
Open App.Path + "\Welt.txt" For Input As #1
While Not EOF(1)
Line Input #1, a$
If Trim$(a$) = "" Then GoTo finish
pos% = InStr(a$, ";")
FileName$ = Left(a$, pos% - 1)
a$ = Mid$(a$, pos% + 1)
'_
pos% = InStr(a$, ";")
Was$ = Left(a$, pos% - 1)
a$ = Mid$(a$, pos% + 1)
'_
Mehr:
pos% = InStr(a$, ";")
x$ = Left(a$, pos% - 1)
a$ = Mid$(a$, pos% + 1)
'_
pos% = InStr(a$, ";")
If pos% <> 0 Then
Y$ = Left(a$, pos% - 1)
a$ = Mid$(a$, pos% + 1)
Else
Y$ = a$
a$ = ""
End If
Call setpic(App.Path + "\Bilder\" + FileName$, Was$, x$, Y$)
If Trim$(a$) <> "" Then GoTo Mehr
Wend
finish:
Close #1
End Sub
So das trenn jetzt die ";" raus und nennt sie von Links nach rechts wie folgt: FileName$, Was$, x$ und y$
So Filename$ ist das Bild das an der Positsion x$ und y$ geladen werden soll. Was$ macht später obs ein fester Gegenstand ist oder nicht. So der Code den ich unter "setpic" habe sieht wie folgt aus:
Private Sub setpic(FN$, W$, S$, T$)
Bild1.Picture = LoadPicture(FN$)
Dim Retval As Long
With Pic
Retval = BitBlt(.hDC, Val(S$), Val(T$), .Width, .Height, Bild1.hDC, 0, 0, SRCCOPY)
End With
If Retval = 0 Then
MsgBox "Ein Fehler ist aufgetreten.", vbCritical, "Fehler"
End If
End Sub
Die Bilder werden aber nicht angezeigt
Also meine Frage: wie kann ich die Bilder endlich anzeigen (einladen) lassen. [Die Bilder sind im Unterordner Bilder].
Noch mal der ganze Code :
Private Declare Function BitBlt Lib "gdi32.dll" ( _
ByVal hdcDest As Long, _
ByVal nXDest As Long, _
ByVal nYDest As Long, _
ByVal nWidth As Long, _
ByVal nHeight As Long, _
ByVal hdcSrc As Long, _
ByVal nXSrc As Long, _
ByVal nYSrc As Long, _
ByVal dwRop As Long) As Long
' Nur zum Testen, wird dann nicht mehr benötigt
' Kopiert den Inhalt eines Bildfeldes in ein anderes,
' wobei die Farben invertiert werden
Private Sub Command1_Click()
Dim Retval As Long