相关疑难解决方法(0)

六角形瓷砖并找到它们相邻的邻居

我正在使用六边形瓷砖地图开发一个简单的2D棋盘游戏,我已经阅读了几篇文章(包括gamedev one,每次有关于六边形瓷砖的问题时都会链接)关于如何在屏幕上绘制六边形以及如何管理运动(虽然我以前做过很多).我的主要问题是根据给定的半径找到相邻的瓷砖.

这就是我的地图系统的工作方式:

(0,0) (0,1) (0,2) (0,3) (0,4)
   (1,0) (1,1) (1,2) (1,3) (1,4)
(2,0) (2,1) (2,2) (2,3) (2,4)
   (3,0) (3,1) (3,2) (3,3) (3,4)
Run Code Online (Sandbox Code Playgroud)

等等...

我正在努力的事实是我不能通过使用for(x-range;x+range;x++); for(y-range;y+range;y++);来选择相邻的瓷砖,因为它选择了不需要的瓷砖(在我给出的示例中,选择(1,1)瓷砖并给出1的范围也会给出我是(3,0)瓷砖(我实际需要的是(0,1)(0,2)(1,0)(1,2)(2,1)(2,2)),这是有点与瓷砖相邻(因为数组的结构方式),但它并不是我想要选择的东西.我可以强制它,但这不会很美,可能不会覆盖'选择半径的东西".

有人能指出我在正确的方向吗?

grid dictionary hexagonal-tiles

14
推荐指数
2
解决办法
4804
查看次数

如何绘制/管理六边形网格?

我读过这篇文章:在C中生成/创建六边形网格.但看起来作者和回答者都已经放弃了它.

?(hexagonSide - hexagonWidth * hexagonWidth):什么是六边形和六边形宽度?是不是<0(所以无法计算平方根).

而且,我可以将六边形放入矩形吗?我需要创建一个这样的网格:

来源:维基百科

还有一件事,我如何安排我的数组存储数据,以及获取哪些单元格紧挨着一个单元格?

我从来没有被教过关于六角形的东西,所以我对它一无所知,但我可以很容易地学到新东西,所以如果你能解释或给我一些线索,我可以自己做.

java algorithm graphics hexagonal-tiles

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

hexagonal-tiles ×2

algorithm ×1

dictionary ×1

graphics ×1

grid ×1

java ×1