什么是算法绘制网格十六进制最简单的方法?我应该如何在数据呈现出来?

例如,在正方形栅格,我可以只保存的x-y坐标..

有帮助吗?

解决方案

六边形是一个整洁的图书馆为AS3游戏,它有一些六边形类可能在你的研究得心应手。 本文有大约在Flash六角砖一些非常好的细节

其他提示

有几种方法来管理六角地图坐标,其中大部分unintuitively坚持它们映射到X-Y坐标是渲染唯一重要的。极坐标的某种形式通常是最好的。我有用于管理最矢量计算一个perl库,它是点的参考是非常有用的计算像AI和其他搜索树。

http://en.wikipedia.org/wiki/Polar_coordinate_system

有关的廉价座位,极坐标标绘点作为原点(像标准XY笛卡尔图表),选取一个向量作为基线(例如笛卡尔),然后指定点作为(大小,度)。

如果这真的击中本垒打与十六进制的地图是每一个纯粹的角度是60度的倍数。如果所分配的每个十六进制侧的对向((A,B,D,E,F,G)并应用矢量作为幅度和面对,几个有用的性能显现出来。

1)每个十六进制可以表示为两个相邻向量的总和(或单个向量,其中所述第二矢量的幅度为0或身份元素)。例如1A + 1B = 1A1B或1b1a。无论哪种方式,它是2个不吉利的东西遍历,2的大小,并指定从原点(0,0)的唯一十六进制。 2)非相邻向量总是可以被简化为应用这些规则的两个相邻载体: 2)否定:1A + 1D = 0,1B + 1E = 0,1C + 1F = 0,例如 3)组合:1A + 1C = 1B,1B + 1D = 1C,1C + 1E = 1D,1D + 1F = 1E,1E + 1A = 1F

记住这些原则,即必须遍历实际空间中的飞弹,需要保留矢量作为级联或更小的遍历顺序。 1A + 1A + 1C + 1C代表行进2个不吉利的东西出来,然后银行急剧(120度)和行进2个不吉利的东西,结束其遍历仅2不吉利的东西离开,但60度偏离方向从它的初始方向的导弹。

靶向计算机或产生的爆炸,但是,可能只关心的范围内,所以简化了这些载体使用这些规则是重要的。为了弄清楚的最短距离的任意两点之间,简单地级联的矢量和简化它们。

这也是很容易地创建一个十六进制的地图,并使它 创建一个十六进制对象与属性的原点,幅度= 0,向量= NULL,标签(可选)=一些字符串(我喜欢让这个人可读的值),名称= 0(幅度级联和矢量),和离开=阵列(你会填充6个节点,除非虫洞或其他)。 剧情集中在你选择使地图的中心像素的起源。 渲染十六进制。 选择一个半径为您的地图

FOREACH幅度, ---填充相邻向量的每个组合环。有许多方法可以做到这一点,但最简单的是选择单个向量作为基础,然后遍历幅度不吉利的东西在适当的方向和轨道,具有60度的转弯。例如对于幅度3,开始在图3E中,然后转到图3A,3B,3C,3D,3E,3F计算每个十六进制作为遍历的最后一个十六进制和新的单个十六进制矢量的总和。 ---在每个这些不吉利的东西的,应用一些三角函数计算,其中中心像素应该是相对于你的原点像素和呈现六角

希望帮助别人。六角地图岩石。使它们吸收了一下。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top