Tilemaps

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

IronMaiden

Betreff: Tilemaps

BeitragMi, Okt 28, 2009 19:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo an alle!

Ich bin, sagen wir ein fortgeschrittener Anfänger in BB und such verzweifelt nach einem Tutorial für Tilemaps. Das Tut von robsite verstehe ich nicht vollständig.
Nun will ich aber ein Fläche komplett selber machen, aber wie?
Die Suche im Inet und in dem Forum hat nichts ergeben.

Was tun???

Xeres

Moderator

BeitragMi, Okt 28, 2009 19:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Was verstehst du nicht und was möchtest du schlussendlich erreichen?
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Holzchopf

Meisterpacker

BeitragMi, Okt 28, 2009 19:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Versuche doch bitte, dein Problem etwas zu Präzisieren.

Was hast du denn schon selber versucht? Und wo happerts? Meinst du mit "selber machen", wie man einen Tilemap-Editor (oder Tile-Mapeditor?) schreibt?

Und wonach hast du hier im Forum denn gesucht, wenn du dabei nichts gefunden hast, was du hättest brauchen können? Das Thema Tilemap an sich wurde nämlich schon oft durch genommen.

~VERSCHOBEN~
Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde.

mfG
Holzchopf
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Nicdel

BeitragMi, Okt 28, 2009 19:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Was du sagst ist etwas ungenau. Auf jeden Fall sind Arrays (Dim) oder Types (Type) wichtig für dein Vorhaben. Ansonsten solltest du noch wissen, wie man mit Bildern umgeht.
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

IronMaiden

BeitragMi, Okt 28, 2009 20:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich kann mit dem Code, der im Tutorial von robsite genannt wird, umgehen, dass heißt, das ich den Code zu meinen Gunsten umändern kann.

Allerdings möchte den logischen Zusammenhang von Dim und dem Data kennelernen, den der Autor nicht vermittelt. Dan ganzen Rest verstehe ich und kann ihn auch anwenden.

TimBo

BeitragMi, Okt 28, 2009 20:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Data habe ich NIE verwendet.

Mit dem geht das so
Dim Map(x,y)

Jetzt kannst du auf jedes Tile zugreifen.

Map(1,2)=1
Map(2,5)=2

etc.

am besten wäre es dann , die Daten aus einer Datei mit den Read befehlen auszulesen.

Grüße
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

count-doku

BeitragMi, Okt 28, 2009 21:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich hab auch mal so ein Prog geschrieben und mach es so:
Code: [AUSKLAPPEN]

;Map laden
name$=Input("File?: ")
file=OpenFile(name)
time=ReadInt(file)
müll=ReadInt(file)
maxx=ReadInt(file)
maxy=ReadInt(file)
Dim fields(maxx-1,maxy-1)
;Felder auslesen
For y=0 To maxy-1
   For x=0 To maxx-1
      fields(x,y)=ReadInt(file)
   Next
Next
CloseFile file
;----------------------------------------------------
;Map schreiben
name$=Input("File?: ")
file=WriteFile(name)
time=Input("Zeit?: ")
müll=Input("Müll?: ")
maxx=Input("MAX_X?: ")
maxy=Input("MAX_Y?: ")
Dim fields(maxx-1,maxy-1)
WriteInt file,time
WriteInt file,müll
WriteInt file,maxx
WriteInt file,maxy
For y=0 To maxy-1
   For x=0 To maxx-1
      WriteInt file,fields(x,y)
   Next
Next
CloseFile file



Mfg,
count-doku

relentless92

BeitragMi, Okt 28, 2009 22:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Das mit den Dims ist doch eigentlich eine relativ simple Sache.

Man deklariert ihn:
Code: [AUSKLAPPEN]
Dim Map(12,12)

Restore Mapdata             ;<- Der Zusammenhang mit Data // Im Datafeld steht nun
For y=0 To 11       ;wie die ausgelesene Map aussieht
   For x=0 To 11
      Read Map(x,y)
   Next
Next


Man benutzt Data:

Code: [AUSKLAPPEN]
.Mapdata
Data 1,1,1,1,1,1,1,1,1,1,1,1   
Data 1,1,1,1,1,1,1,1,1,1,1,1   
Data 1,1,1,1,1,1,1,1,1,1,1,1   
Data 1,1,0,0,0,0,0,0,0,1,1,1   
Data 1,1,0,1,1,1,1,1,0,1,1,1      
Data 1,1,0,1,1,0,0,1,0,1,1,1
Data 1,1,0,1,1,0,0,1,0,1,1,1   
Data 1,1,0,0,0,0,0,0,0,1,1,1   
Data 1,1,1,1,1,1,1,1,1,1,1,1   
Data 1,1,1,1,1,1,1,1,1,1,1,1   
Data 1,1,1,1,1,1,1,1,1,1,1,1
Data 1,1,1,1,1,1,1,1,1,1,1,1


Und definiert dann, was die Zahlen bedeuten:

Code: [AUSKLAPPEN]
Function Map_malen()

For y=0 To 11
   For x=0 To 11
   
      If Map(x,y)=1 Then
         DrawImage stein,x*TILESIZE,y*TILESIZE
      EndIf
      
   Next
Next

End Function


Und bei 0 wird nichts gezeichnet. Et voila, deine Tilemap!
~
Fussball spielen viele, Kart fahren nur die Besten.
~

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group