tilemap kollision mit data befehl

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Lakorta

Betreff: tilemap kollision mit data befehl

BeitragSa, Dez 11, 2010 20:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab mir mal ein tut für die Kollision auf Tilsmaps angeguckt, hätte aber dabei ein Problem, welches ich nicht hinkriege. Ich hab eine Map mit 3 Dimensionen gemacht:
Code: [AUSKLAPPEN]

Dim map(9,9,1)

Wobei 0 keine Kollision ist und 1 Kollision. Nun möchte ich das aber in meine Map einfügen, die ich mit dem Data-Befehl erstellt hab.
Code: [AUSKLAPPEN]

Data 1,2,0,1,0,2,0,2,0,1
Data 1,2,0,1,0,2,0,2,0,1
Data 1,2,0,1,0,2,0,2,0,1
Data 1,2,0,1,0,2,0,2,0,1
Data 1,2,0,1,0,2,0,2,0,1
Data 1,2,0,1,0,2,0,2,0,1
Data 1,2,0,1,0,2,0,2,0,1
Data 1,2,0,1,0,2,0,2,0,1
Data 1,2,0,1,0,2,0,2,0,1
Data 1,2,0,1,0,2,0,2,0,1

So ungefähr. Der rest dürfte ja bekannt sein. Aber wie füge ich jetzt die 3. Dimension da ein? Mit einen neuen Data-Befehöl klappt das ja nicht so ganz.

Danke schonmal für die Antworten Very Happy
---

Xeres

Moderator

BeitragSa, Dez 11, 2010 20:32
Antworten mit Zitat
Benutzer-Profile anzeigen
3 Dimensionen bedeuten in diesem Speziellen Fall:
Eine 10x10 große Karte mit den Tiles.
Eine 10x10 große Karte mit der Kollision.
Dazu musst du 2x mit x,y durch iterieren, aber dafür sind beide Data-Felder Les- und Editierbar.
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)

Ana

BeitragSa, Dez 11, 2010 20:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Vermutlich hast du ja ein kriterium nach dem du die kollisionen beschreibst oder? Also irgendwie feld schon besetzt oder große felswand (angenommen die würde mit einer 2 gespeichert werden) auf dem tile oder sowas halt, dann könntest du ja einfach die map durch 2 for schleifen gehen lassen und alle tiles mit Wert 2 in x,y,0 den wert 1 in x,y,1 zuweisen und wenn ein gegner das feld betritt x,y,1 setzen und wenn es verlässt wieder 0
Don't only practice your art,
but force your way into its secrets,
for it and knowledge
can raise human to divine

Tankbuster

BeitragSa, Dez 11, 2010 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Du willst wissen, wie du in den Data-Feldern drei dimensionen speichern kannst?
Du musst dann eben X 2D-Datafelder benutzen, wobei X die Anzahl der Tiles in der dritten Dimension ist.

Wobei ich für sowas lieber einen LVL-Editor schreiben würde, der das Zeug in ner Datei speichert, sonst bist du ewig dran, Data-Felder auszufüllen.... :S
Twitter
Download Jewel Snake!
Windows|Android

Lakorta

BeitragSa, Dez 11, 2010 21:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die Antworten Very Happy
Habs jetzt hinbekommen Wink



EDIT:
Ich hab noch mal ne Frage: Was ist eigentlich von der Systemleistung preiswerter: Eine Tilemap mit Data Befehl oder per Types mit drawblock? Oder ist die Leistung dabei gleich?
---

Tennisball

BeitragSo, Dez 12, 2010 0:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Kommt drauf an:

Wenn du nur wenige Blöcke hast, die gezeichnet werden müssen, sind Types geeigneter. Wenn das allerdings mal sehr viele werden können, benutze Arrays. Mit oder ohne Data-Befehl ist so ziemlich egal, weil du die Daten ja hoffentlich vorher lädst.

Xeres

Moderator

BeitragSo, Dez 12, 2010 0:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Für eine Tilemap macht sich ein Array immer am besten. Das heißt ja nicht, dass man auf Types verzichten müsste.
Das langsamste wird immer der Zeichenbefehl sein, DrawBlock ist schneller als DrawImage.
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)

Lakorta

BeitragSo, Dez 12, 2010 0:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Also von der Systemleistung sind die so ziemlich gleich, nur das Code-Verständnis ist beim Array meist praktischer, oder?
---

Xeres

Moderator

BeitragSo, Dez 12, 2010 0:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein Array hat vor allem den Vorteil, dass du die Werte direkt ansprechen und vorausberechnen kannst, welchen Ausschnitt du anzeigen möchtest. So macht man nie mehr als nötig.
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)

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group