Umwandeln einer Pixel- in eine Kachelkoordinate

Sie müssen feststellen können, auf welcher Kachel sich ein Pixel befindet, um eine bestimmte Kartenkachel verschieben, zoomen und Elemente auf ihr finden zu können. Dazu muss der Client Spalte und Zeile der Kachel berechnen können, wenn eine Koordinate in Pixeln vorliegt. Sie können folgende Berechnungen verwenden, um diesen Schritt durchzuführen und eine Pixel- in eine Kachelkoordinate umzuwandeln:

  1. Berechnung der Kachelspalte:

    col = (pixelX ÷ tileWidth) + 1
  2. Berechnung der Kachelzeile:

    row = (pixelY ÷ tileHeight) + 1

Es ist wichtig, daran zu denken, dass die Pixelposition relativ zum Pixel-Space der Karte und nicht zum Bildschirm-Space ist. Möglicherweise ist es nicht ausreichend, direkt eine Pixelkoordinate einer Mausposition auf dem Bildschirm zu übergeben. Beispielsweise müssen Sie eventuell die Mausposition in eine Position im Pixel-Space der Karte konvertieren. Dazu muss die Position der oberen rechten Ecke der Bildsteuerung in Kartenpixeln im Pixel-Space nachverfolgt und der Versatz der Mausposition gegenüber dieser Position ermittelt werden.