Brauche Hilfe bei Formelerstellung / Lösungsansatz von Muspos und Feld-Pos
-
Alloah,
ich habe folgendes Problemchen:
Ich erstelle einen Isometric-diamant, der wie folgt erstellt wird:
ich baue mir eine Reihe zusammen, welche aus 30 einzelnen Minifeldern
besteht,
der Diamant wird erstellt, indem ich meine zweite Feld-Reihe an dieerste packe - aber mit einem negativen y-Versatz von der hälfte der
höhe meines Minifeldes.
Warum ich dies mache ist ganz einfach:
Ich möchte im späteren Verlauf mein Feld ansprechen, auf welchem sich
mein Curser befindet.
Außderdem kenne ich mit meiner Diamnantenzusammensetzung den Namenjedes einzelnen Feldes, bzw ich kann sie ansprechen, denn meine
Reihen werden Nummeriert, meine einzelnen Minifelder ebenfalls,
sodass ich zum Beispiel, wenn ich "2/4" anspreche, mein Feld,
welches sich in der zweiten Reihe an vierter Stelle befindet bekomme.
Meine Frage ist: welche Formel brauche ich, damit ich das Feld
herausbekomme, auf welchem mein Curser steht?
Hier ein paar mehr Infos:
Mein Sichtbarer Bereich ist der Bereich im Backbuffer ( ich kann in
meinem Windooffenster meine Map "überfliegen" wie man es von vielen
Strategiespielen gewohnt ist. )
Ich habe eine XPos und eine YPos, welche die Koordinaten des Cursersbeinhalten
Außerdem kenne ich die Höhe und die Breite meines "Minifeldes" (Breite : 64, Höhe : 32 )
Zudem weiß ich, wie viele rows ich habe ( 30 Stk. )
mein aktives Feld ( das Feld, wo sich mein Curser befindet ) heißtactive_f und hat den Typ POINT.
Wäre echt klasse, wenn das wär hinbekäme
Wenn ihr noch mehr Informationen etc braucht, schreibt es einfach
hier rein
hier mal ein Screenshot von der Map, damit ihr euch ein besseres Bild davon machen könnt:
http://bild-upload.smok.de/images/originals/1242202448,52217,64.jpg
-
Ich kann dir jetzt nur einen kleinen Ansatz geben da ich grade keine Formeln oder ähnliches zur Hand habe.
Im Prinzip musst du die Projektion von 3D auf 2D zurückrechnen um für X-und Y die alten koordinaten zu bekommen. Das Objekt das an der Position ist und am nächsten zur Kamera steht hast du angeklickt. Dann brauchst du nur noch zu wissen welcher Arrayindex an welchen Koordinaten erstellt wurde.
Hoffe das hilft dir schonmal weiter