IBGDB
Die Indie Browsergame Datenbank - Unabhängig & Ehrlich.
you are not logged in
Login

zIndex in einer Isometrischen 2D Karte

TueAMCETECET0FebE
zIndex in einer Isometrischen 2D Karte  

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

MonAMCETECET0MarE
 

Woanders schon eine Antwort bekommen Scorp?

MonAMCETECET0MarE
 

ne wurde aber durch dieses Video hier auf eine Idee gebracht.

http://www.youtube.com/watch?v=6eVI_Np4NNE

 

ich müsste bei einem Gebäude den Boden definieren, Das gesammte Bild dann in stück schneiden und jedes Stück außerhalb des Bodens einen höheren Z-Index vergeben als der Boden.

 

Theoretisch müsste es klappen :D werde demnächst meine Fortschritt dann hier posten(falls es klappt:D)

 

MonAMCETECET0MarE
 

Könnte es nicht schon genügen, bei der Berechnung des Z-Index negative Koordinatenwerte als positive Zahlen zu behandeln und somit zu verhindern, dass der Z-Index in den negativen Bereich läuft?

 

ThuAMCETECET0MarE
 

UNSIGNED :D