mmofacts.com

Isometrische Karte verschieben

gepostet vor 14 Jahre, 9 Monate von BlackScorp

Hallo Leute,

ich habe immer noch mein Problem mit der Isometrsichen karte. Also die Tiles werden über ajax geladen und "eigentlich" funktioniert das so wie ich es will. Jedoch wenn ich mir die Karte anschaue , verschiebt die sich komisch.

Um es mal anzuschauen einfach mal unter http://cruel-online.wmw.cc/ mit testuser und 123 einlogen.

Ich gehe bei dieser Karte so vor:

als erstes habe ich die maptiles in eine Gif Datei reingestellt und im CSS mit background-position die gif datei in klassen aufgeteilt.

Ich habe mir divs in eine Map reinkopiert und die mit margin positioniert(margin weil alle divs bei mir float:left haben)

Habe eine php datei erstellt in der zu jeder x und y position ein feld name zugewiesen wird und ob das feld begehebar ist(aber darum kümmer ich mich später). zb:

$map[12][7] = array('forest',true); das bedeutet die positon X:12 und Y: 7 hat forest als classen name und ist begehbar.

mit folgenden code hole ich mir NUR die tiles namen aus der map:

http://pastebin.com/m112fc612

ihr fragt euch bestimmt wozu $counter % 2 da steht.

Da es ja eine ISO map ist, habe ich unterschiedliche anzahl der divs auf der x achse. und jede 2e reihe hat einen div mehr. die ganzen geholten class namen gebe ich in einer php datei aus, welche über die jQuery ajax funktion ausgeführt wird. so sieht meine php datei aus, die von ajax aufgerufen wird:

http://pastebin.com/m2d7b55cf

sobald ich die css klassen namen habe, setze ich die mit javascript ein.

also auf jedenfall verschiebt sich die map nur halt eigentlich nicht so wie es sein sollte. die karte müsste sich ja eigentlich diagonal verschieben und nicht vertikal/horizontal.

schaut mal am besten bei dem test account wie es ausschaut damit ihr versteht was ich meine.

Habe ich da ein denkfehler? was muss ich bei so einer ISO map beachten? wie kriege ich es hin dass die Karte diagonal verschoben wird?

hoffe ihr könnt mir helfen(ich weis dass ihr das könnt;))

MFG

gepostet vor 14 Jahre, 9 Monate von BlackScorp

also ich habe das ganze mal nun aktualisiert, habe jetzt auf jedes feld die X/Y coordinaten ausgegeben und beim verschieben nach zb links erhöhe ich x und y gleichzeitig um 1.

meine frage ist jetzt nun, kann es sein dass ich die koordinaten falsch vergeben habe??

gepostet vor 14 Jahre, 9 Monate von tkdmatze

Original von BlackScorp

also ich habe das ganze mal nun aktualisiert, habe jetzt auf jedes feld die X/Y coordinaten ausgegeben und beim verschieben nach zb links erhöhe ich x und y gleichzeitig um 1.

meine frage ist jetzt nun, kann es sein dass ich die koordinaten falsch vergeben habe??

versuchs mal mit nur x erhöhen ...

gepostet vor 14 Jahre, 9 Monate von BlackScorp

ja dann verlauft alles im zickzack. ich denke ich muss die koordinaten anders zuweisen(also diagonal nicht vertikal bzw horizontal)

gepostet vor 14 Jahre, 9 Monate von MrMaxx

als erstes würde iich nicht N,E,S,W als Richtungen zum Verschieben benutzen, sondern NE,SE,SW,NW. Dadurch ist das Scrollen schonmal flüssig und springt nicht so, wie im Moment. NE = x+1,y-1, SE = x+1, y+1, SW ....

So long...

Maxx

gepostet vor 14 Jahre, 9 Monate von BlackScorp

habe ich gemacht

http://s1.cruel-online.wmw.cc/js/functions.js

(siehe event handling)

was mich interessiert : habe ich die X/Y verteilung richtig eingestellt auf der Karte? oder wird das bei einer ISO karte komplett anders verteilt?

Auf diese Diskussion antworten