Problem beim Karteneditor

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

sunny

Betreff: Problem beim Karteneditor

BeitragSo, Nov 27, 2005 21:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe das ins BeginnerForum geschrieben, weil der Editor nur abgewandelt von dem 4.Rollenspieltutorial meiner CD ist Wink

Undzwar folgendes Problem:
Da ich noch nicht wirklich viel vom Gerüst geändert habe sollte es eigentlich noch problemlos laufen, nur jetzt sitze ich schon seit fast einer
geschlagen Stunde dran und finde den Fehler nicht.

BlitzBasic meint nämlich, dass

BlitzBasic: [AUSKLAPPEN]
If MouseDown(1) Then
scroll()
map(mapx,mapy) = tile
End If


in dem gerade genannten sowie dem folgenden BB-Code ein Fehler ist,
eher gesagt eine Klammer fehlt.

BlitzBasic: [AUSKLAPPEN]
If MouseDown(2) Then
scroll()
map(mapx,mapy) = 11
End If


Die Klammer soll bei beiden zwischen mapx und dem
Komma fehlen.

Das würde allerdings den Code nicht mehr tun lassen, was er soll
deswegen bitte ich euch dass ihr mit vieleicht helft (nach der nächsten halben stunde gebe ich es auf Crying or Very sad )

Da es wahrscheinlich nihct an diesen 8 Zeilen liegt schreibe ich den ganzen Quelltext rein Laughing .

BlitzBasic: [AUSKLAPPEN]
; Erstellen der Unsichtbaren Karte
Dim karte(63,47)

; Graphiksmodus setzen

Graphics 1024,768

; Daten/Bilder laden

tiles = LoadAnimImage(\"maptiles.bmp\", 16, 16, 0, 13)

Global x,y,st,mapx,mapy,tile,mx,my = 1

; Hauptschleife

Repeat

SetBuffer BackBuffer()

; zum Beenden

If KeyDown(1) = 1 Then End

; einlesen der array und malen der map

For x = 0 To 63
For y = 0 To 47

DrawImage tiles , x * 16, y * 16, map(x,y)

Next
Next

; Einstellung der Teile

If KeyDown(15) = 1 Then
If st = 0 Then st = 2
Delay 50
End If

If KeyDown(15) = 1 Then
If st = 2 Then st = 1
Delay 50
End If

If st = 1 Then
If KeyDown(2) = 1 Then tile = 1
If KeyDown(3) = 1 Then tile = 2
If KeyDown(4) = 1 Then tile = 3
If KeyDown(5) = 1 Then tile = 4
If KeyDown(6) = 1 Then tile = 5
If KeyDown(7) = 1 Then tile = 6
If KeyDown(8) = 1 Then tile = 7
If KeyDown(9) = 1 Then tile = 8
If KeyDown(10) = 1 Then tile = 9
If KeyDown(11) = 1 Then tile = 0
End If

If st = 2 Then
If KeyDown(2) = 1 Then tile = 10
If KeyDown(3) = 1 Then tile = 11
If KeyDown(4) = 1 Then tile = 12
End If


; mauskoordinaten

mx = MouseX()
my = MouseY()

; Funktion scroll() verwenden

If MouseDown(1) Then
scroll()
map(mapx,mapy) = tile
End If

If MouseDown(2) Then
scroll()
map(mapx,mapy) = 11
End If

; Funktion speichern() verwenden
If KeyDown(31) Then speichern()

; Funktion laden() verwenden

If KeyDown = (38) Then laden()

DrawImage maus, mx,my
Flip
Forever

; Funktionen scroll() , speichern() und laden() werden erstellt

Function scroll()

mapx = (mx) / 16
mapy = (my) / 16

End Function

Function speichern()

karte$ = WriteFile(\"Karte1.map\")

For x = 0 To 63
For y = 0 To 47
WriteLine(karte$, tile)
WriteInt(karte$, map(mapx,mapy))
Next
Next
CloseFile(karte$)
End Function

Function laden()
karte$ = ReadFile(\"Karte1.map\")
For x = 0 To 63
For y = 0 To 47
tile = ReadLine(karte$)
map(x,y) = ReadInt(karte$)
Next
Next
CloseFile(karte$)
End funtion


Danke schon im voraus.

simi

BeitragSo, Nov 27, 2005 21:50
Antworten mit Zitat
Benutzer-Profile anzeigen
änder mal zuoberst "Dim Karte...." in Dim map...." ab....
bei mir gehts dann.....

sunny

BeitragSo, Nov 27, 2005 22:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Lol ey danke
ich glaub ich sollte lieber schlafen gehen, wenn ich schon ausversehen eine variable in zwei unterteile Very Happy

Edit:

Wow da waren noch ein paar mehr Fehler drin habe sie beseitigt nur funzt etwas von mir nicht, deswegen habe ich es gelöscht, ich wollte ja das wenn man auf Tab drückt die auswahltasten 1,2,3...8,9,0 gegen neue eingetauscht werden, das hat aber nicht geklappt.
Wenn ihr eine Idee hättet wie man das richtig machen könnte würde ich micht freuen, ansosnten mache ich mich morgen selberans Werk Wink

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group