So ganz verstanden habe ich es immer noch nicht, aber ich erahne die Richtung. Intern würde ich auch eine ganz einfache Map a la x/y führen, die Wahlweise bei 0 oder 1 beginnt und dann nur noch die Umrechnung auf die Pixelkoordinate durchführen (berücksichtigung für Scrolls natürlich). Dann hätte das blaue 0/0 und das rote 1/0. Ich hoffe sehr, dass Du die Maps bei Dir im speicher nicht versuchts der isometrischen Darstellung anzupassen, sondern genau anders herum
Und: Nein, mit DelphiX solltest Du erst gar nicht versuchen 3D anzusteuern, da die dort eingesetzen Schnittstellen inzwischen nicht nur für tod erklärt wurden, sondern bereits eingegraben wurden und von MS anschließend wieder ausgebuddelt um an einem noch geheimeren Ort wieder verscharrt zu werden. Wie gesagt sollte man den Begriff 3D hier nicht wörtlich nehmen, sondern vielmehr an eine 3D-
API als Hilfe zu verwenden. Sicherlich würde das einige Zeit in Anspruch nehmen um sich in diese einzuarbeiten, allerdings würde sich das (solange Du weiterhin richtung "ISO" gehen willst und nicht abhebst und nun eine komplexe 3D-Engine willst, sich durchaus schnell auszahlen, da man einiges an Problemen aus dem 2D-Bereich beiseite schieben kann. Ist erst einmal das erste Quadrat mit der 3D-
API gesetzt, ist mit der ersten Schleife schon fast die Hälfte des aktuellen Standes nachgebaut. 3D wird immer erst dann komplex wenn Du alle zur Verfügung stehenden Achsen auch wirklich verwenden willst. Dann kommt man um lineare Algebra nicht mehr herum. Solange man allerdings nur entlang von 2 Achsen bewegt und die dritte maximal zum Zoomen verwendet, bewegt man sich vom mathematischen Aufwand weitesgehend im 2D-Bereich. Tests, ob ein Objekt hinter einem anderen liegt etc. lassen sich sehr leicht umgehen (wie bei ISO auch. Zeichnen von oben links nach unten rechts, anders herum sieht es merkwürdig aus
Aber welche Wege Du auch immer gehst: Werde niemals zum Totenbeschwörer und beschwöre DelphiX 3D herauf. Sofort gänzlich vergessen... sofort