KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: Tilemaps
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
hallo

ich habe eine kurze frage kann man die position eines bildes aus einer tilemap bestimmen also z.b.:

map = {
{a,a,a,a,a,b,a,a,a,b,a,a,a,b,a},
{b,a,a,b,b,a,a,b,b,b,a,b,a,b,a},
{a,b,a,a,a,a,a,a,a,a,b,b,a,a,a},
{b,a,b,b,b,b,b,a,a,a,b,b,a,b,a},
{b,c,b,a,a,a,a,a,a,a,a,a,b,b,b},
{a,a,a,b,b,b,b,b,b,b,b,b,b,b,b},
{b,b,b,a,a,a,a,a,a,b,b,a,a,a,a},
{b,b,b,a,a,b,a,b,a,b,a,a,a,b,b},
{a,a,a,b,b,a,b,a,b,a,a,a,b,b,a}
}

gibts einen befehl der mir dann die koordinaten ausgibt wo sich c befindet z.b. wie hier bei 32x128

hier meine idee: ich will per schleife abfragen ob eine taste rechts, links, oben oder unten gedrückt wurde und dementsprechend soll sich bild c in diese richtung bewegen
jemand ne idee wie mans am einfachsten umsetzen kann?
Hi,

in welcher Programmiersprache ?

In C/C++ würdest du deine TileMap in einem Array ablegen. In einer art "Preprocessing" würdest du in einer Schleife alle Felder auslesen und die initiale Position von C bestimmen.

Im laufenden Programm muss do diese Position bei jedem Tastendruck ändern.
Soll diese Bewegung in deiner TileMap reflektiert werden, dann muss do C nur an der neuen Position in das array eintragen. Die Frage ist - was kommt an die stelle wo C vorher war ? A oder B ? hier musst du dir ggfl. immer den wert merken bevor du C dorthin stellst, damit du beim wegbewegen wieder den alten Wert an die alte Position setzen kannst
also ich hatte vor es in lua zu programmieren wie es mit anderen sprachen gehen würde weiß ich ungefähr da ich in der schule java gelernt hab und des mit arrays und position auslesen und abfragen ja relativ identisch funktioniert
ich weiß dass man in lua tables hat was wenn ich das richtig verstanden hab den arrays entspricht allerdings weiß ich nicht ob man da genauso bilder drin ablegen kann und wenn ja wieso gibt es dann tilemaps
Also nochmal klar was du willst... du willst die Koordinaten von C bestimmen?
Also die in der Table? Hier wäre das dann ja C(5|2)... (5. Reihe, 2. Eintrag)

Oder du willst mit den Tasten C in der Table verschieben?
Hi,

also bei LUA bin ich raus Wink
also

ich will c verschieben über die tasten und meine idee war es die position von c zu bestimmen und dann über abfrage der tasten c in die dementsprechende richtung zu verschieben
kann sein dass ich grad bisschen kompliziert denke aber glaube das ist die einzige möglichkeit oder ?
Ich würde "c" einfach extra machen und dann über die tasten verschieben lassen.
und wie würdest du c einzel verschieben dafür musst du ja immer die aktuelle position von c haben und dann je nach richtung + oder - machen
oder gibts noch eine andere lösung
Du kannst doch sicher ganz am anfang eine startpos für c eingeben?
und dann im main loop einfach

if pad:right () then
xpos = xpos + 1
end

etc.

Die Position ergibt sich ja dann automatisch
Oh man so einfach kanns sein xD
ich saß wohl irgendwie auf der leitung

danke dir für deine antwort
Referenz-URLs