AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Isometrie: Welche Kachel wurde angeklickt?

Ein Thema von TheAn00bis · begonnen am 29. Mai 2007 · letzter Beitrag vom 1. Jun 2007
 
TheAn00bis

Registriert seit: 7. Jun 2004
386 Beiträge
 
#1

Isometrie: Welche Kachel wurde angeklickt?

  Alt 29. Mai 2007, 20:47
Hallo!

Ich arbeite im Moment an einem kleinen Spiel mit isometrischer Grafik bzw. an dem Framework.
Das Zeichnen von Sprites usw. funktioniert so weit, nur stehe ich jetzt seit einiger Zeit vor dem Problem, wie ich herausfinde, welches Tile angeklickt wird.

Siehe angehängte Grafik!

Die Welt wird größer als der Bildschirm sein, deshalb muss der Benutzer scrolen. Man kann sich das dann wie in meiner Grafik so vorstellen, dass der Bildschirm einen Ausschnitt der ganzen Welt darstellt. Dafür habe ich wirklich eine Klasse Screen geschrieben, die die Eigenschaften x und y hat, welche angeben, wo sich der Bildschirm gerade in der Welt befindet.
Ich bin jetzt auf der Suche nach einer Funktion, der ich die Mauskoordinaten übergebe, an denen geklickt wurde und die mir zurückgibt, welches Tile sich an dieser Position befindet.
Würde der Benutzer beispielsweise an der Stelle des grünen Punktes klicken, so sollte die Funktion "3;5" zurückgeben.

Meine Frage an euch ist jetzt: Wie ist das am einfachsten zu lösen?

Ich bin bisher folgendem Ansatz nachgegangen:

Ich bestimme eine Gerade durch den Punkt(+Screen.x bzw. y), die parallel zur isometrischen Achse ist (Steigung arctan(0,5) bzw. -arctan(0,5)) [in Grafik grün makiert] und berechne ihren Schnittpunkt mit der ganz linken bzw. ganz rechten Achse (orange makiert), dann dividere ich die Koordinaten durch die Seitenlänge.
Müsste theoretisch funktionieren, praktisch habe ich da bisher nur Müll raus, obwohl ich mich daran schon länger versuche.

Also, was würdet ihr vorschlagen, wie das am besten zu machen ist?

Ich hab das Gefühl, dass das eigentlich super einfach ist, ich einfach nur nicht die richtige Idee habe.
Angehängte Grafiken
Dateityp: gif 1_125.gif (16,9 KB, 116x aufgerufen)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz