Kann fehler bei mapeditor nicht finden

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

dimaster

Betreff: Kann fehler bei mapeditor nicht finden

BeitragMo, Mai 17, 2004 18:22
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich hab ma wider einen mapeditor für ein rpg geschrieben und versuchte ihn zu starten!Aber das kommt immer so ne meldung das das net geht!schauts euch ma an hier der code:
Code: [AUSKLAPPEN]
Dim map(100,100)
Graphics 800,600,32
tileset = LoadAnimImage("tileset.bmp",32,32,0,11)
Maus = LoadImage("maus.bmp")

For x = 0 To 100
For y = 0 To 100
   map(x,y)=Rnd(40)
Next
Next

SetBuffer BackBuffer()
   Repeat
   If KeyDown(57) Then End

   For x = 0 To 100
   For y = 0 To 100
      DrawImage tileset,x*32-scrollx,y*32-scrolly,map(x,y)
   Next
   Next

If KeyDown(2) Then tile = tile +1
If KeyDown(3) Then tile = tile -1

   If MouseDown(1) Then
      For x = 0 To 100
      For y = 0 To 100
         If RectsOverlap(x*32-scrollx,y*32-scrolly,32,32,MouseX(),MouseY(),1,1) Then
            map(x,y)=tile
         End If
      Next
      Next
   End If

   If KeyDown(208) Then scrolly = scrolly + 32
   If KeyDown(200) Then scrolly = scrolly - 32
   If KeyDown(205) Then scrollx = scrollx + 32
   If KeyDown(203) Then scrollx = scrollx - 32
   If KeyHit(31) Then save()
   If KeyHit(38) Then load()

   DrawImage maus,MouseX(),MouseY()

   Flip
   Cls
Forever
Function save()
karte$ = WriteFile("map1.map")
For x = 0 To 100
For y = 0 To 100
WriteLine(karte$,tile)
WriteInt(karte$,map(x,y))
Next
Next
CloseFile(karte$)
End Function
Function load()
karte$ = ReadFile("map1.map")
For x = 0 To 100
For y = 0 To 100
tile = ReadLine(karte$)
map(x,y) = ReadInt(karte$)
Next
Next
CloseFile(karte$)
End Function
[/quote]
 

Edlothiol

BeitragMo, Mai 17, 2004 18:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Beschreib bloss nicht zu viel vom Fehler, es könnte dir ja jemand helfen...

Was mir jetzt so auffällt ist dass du Dateihandles nicht unbedingt in Strings speichern solltest...
 

Omenaton_2

BeitragMi, Mai 19, 2004 14:51
Antworten mit Zitat
Benutzer-Profile anzeigen
tileset = LoadAnimImage("tileset.bmp",32,32,0,11)

Nur eine wage Vermutung: Programmierer verwenden gerne gerade Zahlen wie zum Beispiel "12".
Kann es nicht sein, daß du eigentlich 12 Frames in Bild hast, aber irrtümlich nur 11 in der oben zitierten Zeile einlädst ?

Blatolo

BeitragMi, Mai 19, 2004 15:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
map(x,y)=Rnd(40)

Dein tileset hat nur 11 Frames aber du füllst die map mit Zahlen zwischen 1 und 40.
Code: [AUSKLAPPEN]
map(x,y)=Rand(1,10)

so klappt es bei mir.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group