gpt4 book ai didi

java - 创建六边形网格图案

转载 作者:行者123 更新时间:2023-12-02 11:31:30 25 4
gpt4 key购买 nike

My Grid
https://www.redblobgames.com/grids/hexagons/

我有这个漂亮的六边形图案,我需要以某种方式在 java 中实现它。我已经有一个代表一个六边形的“Tile”类和一个代表每个 Tile 坐标的“Vector”类。每个平铺对象都有自己的 vector 。

现在我只想将所有图 block 添加到列表中。但要做到这一点,我需要创建全部 37 个。这就是我现在陷入困境的地方。我当然可以手动创建所有内容,但这不仅乏味且容易出错,而且不太优雅。

你们中的任何人都可以告诉我我能做什么吗? :)

最佳答案

我认为您需要做的第一件事就是链接您的图 block 。给他们六个引用资料,每个潜在邻居一个 - 西北、东北、东部、东南、西南和西部。然后,给定任何图 block ,您可以轻松遍历其所有邻居。创建此 Tile 对象图后,为它们分配 Vector 实例。

假设每个 TileVector 是唯一的,下一步是创建一个函数,将每个 Vector 实例映射到笛卡尔坐标坐标。此时,您可以绘制点来查看是否将图 block 放置在屏幕上的正确空间中。

从您发布的链接来看,听起来您正在尝试制作某种游戏(这很酷!)。如果是这种情况,在您的 vector2Cart() 函数开始工作后,您还需要做两件事:

  1. “正确”渲染六边形图 block ,而不仅仅是点或正方形。

  2. 创建逆 cartToVector() 方法,该方法采用笛卡尔坐标并返回与占据屏幕该部分的 Tile 相对应的 Vector。这样您就可以单击屏幕并对Tile执行操作。

关于java - 创建六边形网格图案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49262773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com