Map erstellen funzt nicht

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

ToeB

Betreff: Map erstellen funzt nicht

BeitragSa, Jan 05, 2008 17:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab mir ne Funtion gebastelt, die eigl. eine Map-Datei in ein Bild verwandeln soll, das klappt auch nur ich wollt das halt alles "Texturisieren" :
Code: [AUSKLAPPEN]
Function CreateMap(Nr)
   dat = ReadFile("Maps\Map"+Nr+".map")
   If dat <> 0 Then
      back = LoadImage("gfx\Map_Boden 1.png")
      grab = CreateImage(GraphicsWidth(),GraphicsHeight()-50)
      SetBuffer ImageBuffer(grab)
      TileBlock back,0,0
      img = CreateImage(GraphicsWidth(),GraphicsHeight()-50)
      SetBuffer ImageBuffer(img)
         Color 255,0,255:Rect 0,0,1000,1000:Color 0,0,0
         For x = 0 To 15
            For y = 0 To 10
               byte = ReadByte(dat)
               If byte = 0 Then
                  Rect x*50,y*50,50,50
               EndIf
            Next
         Next
      SetBuffer ImageBuffer(img)
         DrawBlock img,0,0
      LockBuffer ImageBuffer(img)
      LockBuffer ImageBuffer(grab)
      For x = 0 To ImageWidth(img)-1
         For y = 0 To ImageHeight(img)-1
            pix = ReadPixelFast(x,y,ImageBuffer(img))
               If pix = 0 Then
                  WritePixelFast(x,y,ReadPixelFast(x,y,ImageBuffer(grab)))
               EndIf
         Next
      Next
      UnlockBuffer ImageBuffer(img)
      UnlockBuffer ImageBuffer(grab)
      MaskImage img,255,0,255
      Color 255,255,255
      SetBuffer BackBuffer()
      FreeImage grab
      Return img
   Else
      Return 0
   EndIf
End Function


Warum bleibt der Bildschirm die ganze zeit schwarz ??

thx und mfg Crack93
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

ZaP

BeitragSa, Jan 05, 2008 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Weil du den BackBuffer am Ende der Funktion (re)aktivierst. Dadurch wird alles was gezeichnet wurde (inkl. Texturen) gelöscht.
Starfare: Worklog, Website (download)

ToeB

BeitragSo, Jan 06, 2008 17:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay, an BackBuffer lag es nicht, ich habs nochmal von neu angefangen jetzt Funzt es Very Happy !!
Hier :

Code: [AUSKLAPPEN]
Function CreateMap(Nr)
   dat = ReadFile("Maps\Map"+Nr+".map")
   If dat <> 0 Then
      grab = LoadImage("gfx\MapTexture1.png")
      img = CreateImage(GraphicsWidth(),GraphicsHeight()-50)
      SetBuffer ImageBuffer(img)
      LockBuffer ImageBuffer(img)
      WritePixelFast(0,0,0)
      black = ReadPixelFast(0,0)
      UnlockBuffer ImageBuffer(img)
      Color 255,255,255
         Color 255,0,255:Rect 0,0,1000,1000:Color 0,0,0
         For xx = 0 To 15
            For yy = 0 To 10
               byte = ReadByte(dat)
               If byte = 1 Then
                  Rect xx*50,yy*50,50,50
               EndIf
            Next
         Next
      back = CreateImage(ImageWidth(img),ImageHeight(img))
      SetBuffer ImageBuffer(back)
      TileBlock grab
      LockBuffer ImageBuffer(img)
      LockBuffer ImageBuffer(back)
         For xx = 0 To ImageWidth(img) - 1
            For yy = 0 To ImageHeight(img) - 1
                pix = ReadPixelFast(xx,yy,ImageBuffer(img))
               If pix = black Then ;Wenn Schwarz ...
               aa = 1
                  WritePixelFast(xx,yy,ReadPixelFast(xx,yy,ImageBuffer(back)),ImageBuffer(img))
               EndIf
            Next
         Next
      UnlockBuffer ImageBuffer(img)
      UnlockBuffer ImageBuffer(back)
      MaskImage img,255,0,255
      Color 255,255,255
      SetBuffer BackBuffer()
      Return img
   Else
      Return 0
   EndIf
End Function
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group