六角形瓷砖没有正确排列,中间有间隙

时间:2016-01-19 08:32:22

标签: java libgdx hexagonal-tiles

我正在尝试用六边形瓷砖绘制地图。但是,我正在努力让瓷砖正确排列,因此它们之间没有空间。 Here's a picture of my problem.一个用我正常使用的瓷砖,一个用另一个瓷砖放大,以确保它不仅仅是对我的抗锯齿效果。

这是负责获取每个图块的像素坐标的代码。显然,每个奇数行的偏移都有一些误算,但只是增加或减去一个像素只会增加间隙。

private static final float HEX_WIDTH = 97; // 139 for colored tiles
private static final float HEX_HEIGHT = (float) (Math.sqrt(3)/2 * HEX_WIDTH);

public Vector2 getHexCoordinates(Hexagon hex) {
    float x = (float) HEX_WIDTH * hex.getGridX() * 3 / 4;
    float y = (float) HEX_HEIGHT * (hex.getGridX() / 2 + hex.getGridY());
    y = (hex.getGridX() % 2 == 0) ? y : y + HEX_HEIGHT / 2;
    return new Vector2(x, y);
}

另外here's the tiles我正在使用以防万一有人在想。

2 个答案:

答案 0 :(得分:0)

您是否尝试过将HEX_WIDTH减少1?

private static final float HEX_WIDTH = 96;

你的身高显然很好,因为你没有水平间隙。

答案 1 :(得分:0)

按1.01f缩放单个精灵可以减小间隙的大小,足以考虑解决此问题。