是否可以进行六边形拖放?

Is it possible to make a hexagonal drag and drop?

The grid.

是否可以创建一个拖放系统,其中圆形可拖动元素将捕捉到上面显示的六边形网格,并记录起始坐标和到达坐标?我想通过记录点击坐标并在服务器上的特殊网格上获取相同坐标处的像素颜色来解决这个问题,然后从颜色代码中解码坐标,但如果它会更加用户友好可以拖放。

感谢您的宝贵时间。

莱文特

根据您表示六边形的方式(svg、图像、css + 旋转的 div、canvas、...),我会使用不同的方法。如果您使用 SVG 或旋转的 div,您可以简单地使用 onmouseover 事件处理程序来确定底层六边形。如果使用 canvas,则可以使用旋转矩阵将笛卡尔指针坐标冷转换为立方体坐标。

我在以下页面找到了很多有用的坐标转换: http://www.redblobgames.com/grids/hexagons/#coordinates

如果你想使用这种方法,我不知道你想使用哪个坐标系,我也不知道你是如何存储与六边形字段相关的信息的。因此,我还不能给你一个完整的解决方案,但我希望这些信息无论如何都能对你有所帮助。