相关疑难解决方法(0)

六角网格,你如何找到一个点的六边形?

我有一个由行和列六边形组成的地图

这不是我正在使用的十六进制映射的实际图像,但使用相同的大小和形状六边形

当用户点击时,我需要能够分辨出哪一个鼠标结束了

每个Hexagon都由一个"Tile"类的实例表示,但是它不包含任何位置特定的数据,甚至不包含多边形,所以基本上唯一的方法就是知道它在特定六边形的位置.二维数组.

之前我使用过方格,并且相对容易确定选择了哪个方格,因为像素也是方形的,

        // example where each square is 10 by 10 pixels:

private void getClickedSquare(MouseEvent me)
    {
        int mouseX = me.getX();// e.g. 25
        int mouseY = me.getY();// e.g. 70

        int squareX= (int) (mouseX / 10);// in this case 2
        int squareY= (int) (mouseY / 10);// in this case 7

//then to access the tile I would do

        map.squares[squareX][squareY].whatever();
    }
Run Code Online (Sandbox Code Playgroud)

但我甚至不确定从哪里开始使用Hexagons,有没有人有任何经验?

我不能使用多边形(Java),因为当我在屏幕上移动地图并增加它的大小时,我会遇到每帧更新大量多边形的问题.虽然我可以检查地图的任何一个平铺的多边形中是否包含一个点!

目前显示的六边形只是BufferedImages.

如果您想了解更多信息,请询问,谢谢您的时间:D

algorithm point hexagonal-tiles

32
推荐指数
3
解决办法
2万
查看次数

标签 统计

algorithm ×1

hexagonal-tiles ×1

point ×1