Hallo leute,
ich sitze hier seit wochen an einem Problem. Es geht um eine Isometrische Karte und das Plazieren von Objekten.
In den Gängigen Karteneditoren (RPG Maker und co.) ist es so aufgeteilt, dass man Teile eines objektes(Haus, Baum usw) auf bestimmten ebenen einfach plaziert. Man sagt dann einfach die obere ecke des hauses kommt auf Layer2 die Spielfigur bewegt sich immer auf Layer 1 und alle Tiles sind im Layer 0.
Das ist mir aber ein wenig zu blöde und ich wollte gerne es so haben , dass man einfach ein Bild in der Karte platziert, das Bild wird automatisch in stücke aufgeteilt und der "Layer" soll automatisch berechnet werden. (Also automatische Berechnung des Layers)
Dazu habe ich eine Methode Place erstellt die so aussieht:
place: function (x, y, l, obj) { //Berechnet top/left position von den x/y coordinaten var pos = this.pos2px(x,y); //setze top/left position und zIndex des divs obj.attr({ x: pos.left, y: pos.top, z:(x+l)*(y+l) }); return this; },
funktioniert auch gut, aaber dann komm ich mit meiner figur irgendwann zu koordinaten wie -100/-200 und da läuft die figur unter die Tiles.
Meine Frage nun an euch, was könnte ich nehmen um den zIndex zu berechnen? es muss eine eindeutige zahl sein und bei negativen werten muss auch ein Positiver wert rauskommen. Vielleicht könnt ihr mir da weiter helfen.
MFG BlackScorp