TileMap sparsammes Scrolling
Übersicht

CodeFishBetreff: TileMap sparsammes Scrolling |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Irgendwie bekomm ich das mit dem Scrlling nicht so recht gebacken. Habn mal schnell simpelt Quelltext hochgeladen, kommaber grad nicht drauf, wie ich das am klügsten löse?
Kurze Beschreibung: Damit nicht die ganze Map von 100er oder 1000er TileGrösse gezeichnet wird, will ich mit einem kleinem Feld welches der Bildschirmgrösse entspricht scrollen, indem ich das kleine über das grosse bewege und ermittele welche Tiles im kleinen Liegen, diese an klein übertrage und nur diese zeichne. Habs erstmal im kleinen Format ohne Dateiladen oder stonstigen mist probiert. Da das ebenfals nicht funzt hab ich es dan mit per Handzuweisung probiert, aber bekomms net so richtig gebacken, also wer sieht hir mal meinen denkfehler, komm da gerade nicht weiter. Code: [AUSKLAPPEN] ; Einstellungen Graphics 640,480 HidePointer SetBuffer = BackBuffer() Image = LoadAnimImage("TileSet.bmp",16,16,0,6) ; Daten ScreenX = 640 ScreenY = 480 TileAni = 1 Dim Screen(7,7) Dim Map (7,7) Map (0,0) = 1 Map (0,1) = 1 Map (0,2) = 1 Map (0,3) = 1 Map (0,4) = 1 Map (0,5) = 2 Map (0,6) = 2 Map (1,0) = 2 Map (1,1) = 2 Map (1,2) = 2 Map (1,3) = 1 Map (1,4) = 2 Map (1,5) = 2 Map (1,6) = 1 Map (2,0) = 2 Map (2,1) = 2 Map (2,2) = 2 Map (2,3) = 1 Map (2,4) = 2 Map (2,5) = 1 Map (2,6) = 2 Map (3,0) = 2 Map (3,1) = 2 Map (3,2) = 1 Map (3,3) = 1 Map (3,4) = 1 Map (3,5) = 2 Map (3,6) = 1 Map (4,0) = 1 Map (4,1) = 1 Map (4,2) = 1 Map (4,3) = 1 Map (4,4) = 2 Map (4,5) = 1 Map (4,6) = 2 Map (5,0) = 2 Map (5,1) = 1 Map (5,2) = 1 Map (5,3) = 1 Map (5,4) = 2 Map (5,5) = 2 Map (5,6) = 1 Map (6,0) = 1 Map (6,1) = 1 Map (6,2) = 2 Map (6,3) = 1 Map (6,4) = 2 Map (6,5) = 1 Map (6,6) = 2 ; Hauptprogramm Repeat Cls ; laden Screen(0,1) = Map(1,2) Screen(0,2) = Map(1,3) Screen(0,3) = Map(1,4) Screen(0,4) = Map(1,5) Screen(0,5) = Map(1,6) Screen(1,1) = Map(2,1) Screen(1,2) = Map(2,2) Screen(1,3) = Map(2,3) Screen(1,4) = Map(2,4) Screen(1,5) = Map(2,5) Screen(2,1) = Map(3,1) Screen(2,2) = Map(3,2) Screen(2,3) = Map(3,3) Screen(2,4) = Map(3,4) Screen(2,5) = Map(3,5) ; zeichnen For i = 0 To 2 For g = 0 To 5 Select Map(i,g) Case 1 TileAni = 5 Case 2 TileAni = 1 End Select DrawImage Image,i*16,g*16,TileAni Next Next Flip Until KeyHit(1) End |
||
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kuck Dir DIES mal an, wenn Du dann noch fragen hast, dann frag hier einfach ![]() |
||
CodeFish |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Besten Dank, genau sowas braucht ich gerade. Jetzt werd sich es sicher hinbekommen. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group