Seite 1 von 1
Bild wird nicht ausgegeben
Verfasst: 28.03.2008 23:54
von Tombi
Warum sehe ich trotzdem nichts auf dem Screen?
Screen in Vollbild wird natürlich vorher geöffnet.
Hier die Procedure die in jedem Tick (innerhalb von Repeat/Until) ausgeführt wird:
Code: Alles auswählen
Procedure ShowLandschaft(zeilen.l,werte.l)
LoadImage(0,"gfx/charblack.bmp")
LoadImage(1,"gfx/gras.bmp")
LoadImage(2,"gfx/erde.bmp")
LoadImage(3,"gfx/sand.bmp")
LoadImage(4,"gfx/wasser.bmp")
ClearScreen(0,0,0)
StartDrawing(ScreenOutput())
For x=0 To zeilen-1
For y=0 To werte-1
Read map(x,y)
DrawImage(1,x*25,y*25)
Next
Next
StopDrawing()
FlipBuffers()
EndProcedure
Verfasst: 29.03.2008 00:08
von RSBasic
@Tombi
Code: Alles auswählen
InitSprite()
InitKeyboard()
If OpenScreen(1024,768,32,"Screen")
LoadSprite(0,"gfx/charblack.bmp",0)
LoadSprite(1,"gfx/gras.bmp",0)
LoadSprite(2,"gfx/erde.bmp",0)
LoadSprite(3,"gfx/sand.bmp",0)
LoadSprite(4,"gfx/wasser.bmp",0)
Repeat
FlipBuffers()
ClearScreen(RGB(0,0,0))
DisplaySprite(0,0,0)
DisplaySprite(1,200,0)
DisplaySprite(2,400,0)
DisplaySprite(3,0,200)
DisplaySprite(4,200,200)
ExamineKeyboard()
Until KeyboardReleased(#PB_Key_Escape)
EndIf
Kannste ja noch anpassen/erweitern

Verfasst: 29.03.2008 00:47
von Tombi
Soll das jetzt heißen das es nicht ging, weil ich Images genommen habe?

Verfasst: 29.03.2008 01:05
von RSBasic
@Tombi
Für Screens sind Sprites am besten geeignet und schneller.
Verfasst: 29.03.2008 11:53
von Kaeru Gaman
in der selben procedure laden inst unsinn, das würde ja bedeuten, dass du in jedem schleifendurchlauf neu lädst.
laden brauchst du das nur einmal, ganz am anfang.
außerdem willst du ja irgendwann noch mehr anzeigen als nur die map,
also wäre es wohl sinnvoll,
das clearscreen und das flipbuffers nicht mit in die procedure für die mapdarstellung zu packen.
noch ein problem ist das "Read Map"
wenn du in jedem durchlauf neu die Datas auslesen willst, bist du doch weit hinter der Data-Section.
also, das Datas auslesen auch nur einmal vorher, in der darstellungsschleife holst du die nur noch ausm array.
du wirfst hier also einmaliges dateneinlesen und wiederholte darstellung durcheinander und packst sie in dieselbe schleife.
eigentlich solltest du nicht nur nen schwarzen screen sehen, sondern nen haufen fehlermeldungen.
und ja, images zu drawen ist viel zu langsam für ne tilemap, da musst du wirklich sprites nehmen.