tilemap kollision mit data befehl
Übersicht

![]() |
LakortaBetreff: tilemap kollision mit data befehl |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() |
||
--- |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Ana |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke für die Antworten ![]() Habs jetzt hinbekommen ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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. |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() ![]() |
||
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 THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Lakorta |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also von der Systemleistung sind die so ziemlich gleich, nur das Code-Verständnis ist beim Array meist praktischer, oder? | ||
--- |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group