最近、アイソメ マップの表示スタイルをスタガードからダイアモンドに変更しましたが、タイルの選択プロセスがわかりません。
私はこの件に関する他の既存のスレッドをよく知っており、それらすべてを読みましたが、解決策を見つけていません (最近の私の集中力はめちゃくちゃです)。
私は非常に基本的なシステムを使用しています。これは、すべてのタイルを通過し、マウスが指しているタイル (この Map.Tile.Intersects(mouse.Rect) のようなもの) を選択してから、選択したカラーマップの助けを借りて正しいタイル。
しかし、私はこのシステムが好きではありません。なぜなら、私が見たが理解できなかったいくつかの数学的解法に比べてかなり効率が悪いからです。
したがって、マップを作成するために使用するコードは次のとおりです。
int x = 128 * j;
int y = 64 * i;
int isoX = (6 * 64) + (x - y);
int isoY = (x + y) / 2;
128 は tileWidth 、64 tileHeight および 6 * 64 は xOffset
そして、座標は次のようになります。
誰かが私にヒントを与えたり、私が何をすべきかを説明したりできますか?
ありがとうございました。