Fragen zu Tilemap
Übersicht

![]() |
LakortaBetreff: Fragen zu Tilemap |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab ein paar fragen zum Thema Tilemap:
1. Kann man ein bestimmtes Tile einer Tilemap ansprechen, so in der Art "If tile=1..." ? 2. Und wie ändert man nachträglich den Frame der Tilemaps? 3. Wenn ich jetzt die Drehung eines Spielers per Tiles mache, wie ändere ich dann die einzelnen Tiles? Hoffe ihr könnt mir helfen ![]() |
||
--- |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hast du dich schon mal eingelesen, was eine Tilemap ist?
Du kannst dir das als Tabelle mit Zeilen&Spalten vorstellen - mit den X,Y Koordinaten kannst du auf eine Zelle zugreifen und nachschauen was drin ist und/oder einen neuen Wert einsetzten. |
||
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 erfragt man die Koordinaten per map(x,y)?
Und wenn man keine Tilemap hat, sondern immer nur 1 Tile einzeichnen will, das sich dann ändert, wie macht man dann sowas? Schonmal danke für die Antwort ![]() |
||
--- |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, man erfragt keine Koordinaten, die sollten bekannt sein.
Über Koordinaten bekommt man eindeutig den Inhalt eines Felds, aber anders herum - die Koordinaten zu einem Inhalt finden - geht das nicht eindeutig, wenn der Inhalt mehrfach vorkommt. Außerdem dauert das Durchsuchen der Tilemap. Ein Einzelnes Tile gibt es nicht ohne Tilemap - das macht keinen großen Sinn. Was genau meinst du damit? |
||
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) |
![]() |
Neoxit |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eine Tilemap, damit befasse ich mich derzeit ziemlich dolle.
Wie Xeres schon sagte, ist eine Tilemap ein Gitterraster. 1 Tile beträgt meinetwegen 32x32 Pixel. Diese werden dann aneinander gereiht. Von Links nach rechts bspw. Jeder Tile hat dafür seine eigene Koordinate (Ausgerechnet über das 32 + 32 in schleife bei mir (da sie ja 32x32 sind)). Danach wennd ie erste reihe fertig ist setze ich den Y wert des nächsten Tiles auf 32 (also 1 reihe weiter unten) und fang nochmal bei der X koordinate bei 0 an. Da alle diese Tiles (deren Positionen) in einem Type gespeichert werden, bei mir jedenfalls, besitzt jeder einzelne Tile der währenddessten gemacht wurde eine eigene Koordinate, bswp: 0,0 - 0,32 - 0,64 - 128,256 so wie auch andere werte (z.b. ob dieser passierbar ist durch den spieler, oder ob dieser Blocken soll) Und genau so sprichst du die einzelnen Tiles dann auch an. Oder habe ich dich missverstanden? |
||
![]() |
Lakorta |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bräuchte das für die Kollision.
Neoxit, wie machst du denn deine Tilemap? Auch mit dem Data-Befehl? |
||
--- |
![]() |
Neoxit |
![]() Antworten mit Zitat ![]() |
---|---|---|
Den Data Befehl habe ich in der Tat am anfang genutzt, danach umgestiegen auf eine externe Datei mit den entsprechenden Block ID's,jedoch lese ich meine Level nun anhand von Bitmaps aus.
Am besten Addest du mich mal in ICQ wenn du magst 646-149-229. Dann kann ich dir mal besser bei deinem Problem helfen. Helfe dir gern bei deinen Fragen, wie das ganze bei mir mit den Tiles immoment aussieht kannst du auf http://neoxit.tumblr.com/ nachlesen. |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es wäre vielleicht ganz sinnvoll, wenn du die schon bestehenden Tutorials verwendest - zu Tilemaps sollte es Informationen wie Sand am Meer geben.
Szene->Links->Tutorials Tipps für Neueinsteiger Jedem einzeln hier die Grundlagen vermitteln zu wollen ist unsinnig - bitte erst selbstständig suchen & lernen und erst dann melden, wenn noch Fragen offen sind. |
||
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 ![]() |
---|---|---|
Ich glaub jetzt bekomm ich das hin.
Danke für die Antworten an euch beiden ![]() |
||
--- |
![]() |
Raiden93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nochmal zum Oberen bereich du sprichst ein ein einzigen (Block), mit z.b map(3,15) an. | ||
![]() |
Neoxit |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du es mit einem Array machst ja, wenn du es allerdings wie beschrieben mit einem Type oder eher allgemein machst, nicht. | ||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was ich nicht nachvollziehen kann, Neoxit, wie gestaltest Du die Kollisionen mit der Map performancegünstig wenn das ganze in einem Typekonstrukt gespeichert wird? Ich hab bisweilen die Map noch immer in einem Array gespeichert und im einfachsten Fall anhand der Tilenummer (also z.B. 1 - 500 ist nicht begehbar, 501 - 700 sind Powerups, etc.) entschieden wie Spieler oder KI sich bewegen können. Bei Types fehlt mir ein wenig die Vorstellungskraft wie man das Prozessor- und Speicherschonend gestalten könnte, von daher die Frage? | ||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Neoxit |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kommt halt darauf an wie oft du alle Types ansprichst und je nach dem wie groß die Map ist.
Meine Typekonstruktion sieht derzeitig so aus: BlitzBasic: [AUSKLAPPEN]
Wobei jeder eine ID bekommt wobei ich diese für andere Dinge anspreche. D.h. wenn du die Tiles "nur" für die Kollision ansprichst geht das. Zusätzlich werden NUR die Tiles gezeichnet, welche sichtbar sind. (der spieler sieht). Also gibt es auch mit der Type variable viele verschiedene möglichkeiten die Performance am leben zu erhalten. [EDIT] Also werden auch nur die Types geprüft die gezeichnet werden und das sind bei mir bei 1024x768 mit 32x32 tiles 768 tiles die angesprochen statt laut map 10.000 bei einer karte von 100x100 tiles |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie wärs mit einer alt bewährten Kombination?
Einem Ansatz wie zB: BlitzBasic: [AUSKLAPPEN] Type TLevel Dem aufmerksamen Leser fällt auf: Es ist ein gewohnter Tilemap-Array wo man Koordinaten hat wie in diesem THread besprochen und jeder Eintrag verweist auf einen Type-Eintrag der die Infos enthält ob er begehbar ist, zerstörbar, etc. Man bräuchte dann auch nicht 10.000 Type-EInträge sondern nur "für jeden Typ einen". mfG, Christoph. EDIT: Hätte ich n halben Tag gewartet, hätte man den Vorschlag als Adventsüberraschung gefunden ![]() https://www.blitzforum.de/news/advent/?day=5 |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
- Zuletzt bearbeitet von Eingeproggt am So, Dez 05, 2010 1:21, insgesamt einmal bearbeitet
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nun gut, so recht scheine ich den Vorteil nicht zu verstehen. Vielen Dank für die Erläuterung ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group