tilemaps laden und ausgeben.
Übersicht

![]() |
M0R73NBetreff: tilemaps laden und ausgeben. |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi,
ich habe mir bei robsite das jump and run tut für 2d gedowloaded. jetzt müsste ich mal wissen wie es möglich ist mehrere verschiedene tiles zu laden und wiederzugeben. ich hab jetzt diesen code. wäre nett wenn ihr den so umschreiben könntet, dass da evtl 2 oder 3 verschieden tiles gemalt werden. Code: [AUSKLAPPEN] ;Tutorial 1: Erstellen der Level
;------------------------------- ;In diesem Teil möchte ich erklären, wie Level erstellt und auf den Bildschirm ;gebracht wird. Zusätzlich habe ich noch einige Kommentare zu den Befehlen eingegeben. Graphics 640,480 SetBuffer BackBuffer() frametimer = CreateTimer (30) ;Um das Spiel auf alle Rechnerkonfigurationen gleich schnell laufen ; lassen, sollte man einen Zeitgeber setzen. 25 - 60 sind Empfehlenswert. ClsColor 0, 0, 255 ; Farbe, mit dem der Bildschirm gelöscht wird ;Gfx laden Global tile = LoadAnimImage ("tile2.bmp",32,32,0,4) MaskImage tile, 255, 0, 255 ;Setzt die transparente Farbe auf Lila ;Kartendaten lesen Dim map (20,15) ;Karte definieren. Da die Karte später nach X und Y Koordinaten gezeichnet wird, ;2 dimensionanes Array Restore mapdata ;Setzt die Datazeilen von mapdata zurück For y=0 To 14 ;Y = 15. Von 0 bis 14 For x=0 To 19 ;X = 20. Read map(x,y) ;Daten auslesen Next Next ;Hauptschleife Repeat Cls ;Bildschirm löschen WaitTimer (frametimer) ;Den gewählten Zeitgeber warten DrawMap() ;Function Drawmap ausführen Flip ;Bildschirm tauschen Until KeyHit (1) End ;Functionen Function DrawMap() For y = 0 To 14 For x = 0 To 19 If map(x,y) = 1 Then ;ist in dem genannten (x,y) Array eine 1 gemerkt, DrawImage tile, x*32, y*32 ;Grafik malen. EndIf Next Next End Function ;Die Koordinaten der Karte werden hier gelesen .mapdata Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,1,2,3,4,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ich hab mir auch das rpg tut gedownloaded, wo ja unterschiedliche tiles gemalt werden, konnte allerdings keinen unterschied finden. Danke für eure hilfe. Mfg M0R73N |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
da sind sozusagen ein paar Fehler drin
hast du da schon etwas geändert! 1. es wird eine Animation geladen, genau 4 Bilder BlitzBasic: [AUSKLAPPEN] Global tile = LoadAnimImage (\"tile2.bmp\",32,32,0,4) 2. das Data Feld beinhaltet Zahen von 0 - 4 , was ja auf den ersten Blick richtig erscheint! wenn 0 = kein Bild malen bedeutet 3. Die Function zum malen läßt nur die Bilder mit 1 zu, was dazu führt das nur das erste Bild gemalt wird , da der letzte Wert nicht gesetzt ist! BlitzBasic: [AUSKLAPPEN] Function DrawMap() Halbwegs richtig erscheint mir das 0 kein Bild sein soll, demnach mßte die Function aber anders aufgebaut sein! If map(x,y) > 0 then DrawImage tile, x*32, y*32, map(x,y) - 1 ;Grafik malen. -1 muß sein weil die AnimationBilder bei 0 anfangen und Drawimage tile, x, y,4 nicht exitiert! |
||
[BB2D | BB3D | BB+]
|
![]() |
M0R73N |
![]() Antworten mit Zitat ![]() |
---|---|---|
cool^^
danke. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group