Hallo leute, ich würde gerne die Eckpunkte einer Iso staggered map herausfinden. besser gesagt die Koordinaten der Eckpunkte.
Bevor hier fragen auftreten was ich vorhabe. Möchte ich gerne erstmal meine vorgehensweise bei der Karte beschreiben.
Ich habe 2 DIV elemente übereinander liegen. der Eine Div ist der sichtbare bereich der andere div unter dem sichtbaren bereich, dient für die Animation meiner Karte. In dem Animationsdiv befinden sich viele mapTile divs. dies habe ich gemacht wegen der jQuery animate() funktion, mit der ist es mir möglich ein einem bestimmten zeitinterval die top und left werte eines divs zu verschieben, ich hatte es ursprünglich auf meine mapTiles angewandt und musste dabei die jQuery funktion each verwenden.. das hat dazu geführt dass alles geruckelt hat und die animation nicht schön aussah, desswegen habe ich um alle mapTiles ein Div gesetzt und nur das Div wird verschoben, die mapTiles sitzen fest in dem Div.
Soweit hat alles funktioniert. Nun möchte ich halt gerne mapTile divs hinzufügen vor der animation, danach kommt die animation, und zum schluss sollen einige divs entfernt werden. also angenommen ich verschiebe meine figur auf der Karte nach Oben / Links, somit wird oben und links die karte um eine reihe an divs vergrößert, das animationsdiv wird verschoben, danach werden unten und rechts eine riehe entfernt.
Um dies zu ermöglichen habe ich vor, je nach dem in welche richtung ich meine figur bewege, einen bestimmten eckpunkt herausfinden, die position des eckpunkts in pixel auselesen, zu der position tilebreite bzw tilehöhe entfernen oder dazuadieren, zu der koordinate des eckpunkts x bzw y werte addieren, damit ich quasi festlegen kann, dass an der stelle ein neues div erscheinen soll mit der koordinate xy. das ganze danach in einer schleife um eine reihe voll zu kriegen.
das ist die theorie... nun zur praxis. bei einer Normalen 2 Karte, kann ich die eckpunkte wunderbar ermitteln wenn ich die spielfigur position, sowie breite und höhe des anzeigebereichs ,kenne. etwa so:
Gelb ist der anzeige bereich, blau ist die spieler position, aqua sind die eckpunkte die ich suche.
so und nun das ganze für ISO
Wie ihr da sehen könnt ist es nicht ganz einfach dort die eckpunkte mathematisch zu ermitteln. zumindestens sehe ich da kein zusammenhand zwischen anzeige höhe/breite und koordinaten des spielers.
Was ich dann später vorhabe ist halt folgendes:
Ich kenne meine Anzeigebreite und meine Spielerposition. ich bewege mein spieler nach oben/links, die karte wird dadurch nach unten /rechts animiert, vor der animation, hole ich mir von den eckpunkt unten/links, die position in pixeln und die koordinaten. danach nehme ich die css eigenschaft left: ziehe davon die tilebreite ab und top lasse ich. somit weis ich wo die reihe anfangen soll. danach starte ich eine schleife bis view hohe und ziehe von der css eigenschaft top die tilehöhe ab. also quasi div für div von unten bis nach oben aufbauen, und das gleich dann für oben. desswegen sind mir die eckpunkte so wichtig denn an denen orientiere ich mich, wo ein neues div drangehängt werden soll und an welcher stelle divs gelöscht werden sollen..
So ich hoffe nun dass ihr mich verstanden habt, und mir weiterhelfen könnt..tut mir leid dass da soviel drumherum geschrieben wurde.. aber ihr müsst verstehen was ich vorhabe um mir zu helfen,denke ich.
MFG BlackScorp