我最近将等轴测图的显示样式从交错转换为菱形,但我无法弄清楚瓷砖拾取过程。
我很清楚有关该主题的其他现有线程,并且我阅读了所有这些线程,但我还没有找到解决方案(这些天我的注意力一团糟)。
我正在使用一个非常基本的系统,该系统包括遍历所有图块并选择鼠标指向的图块(例如 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
坐标是这样的:
有人可以给我一些提示或解释我应该做什么吗?
谢谢你。