我正在尝试用六边形瓷砖绘制地图。但是,我正在努力让瓷砖正确排列,因此它们之间没有空间。 一个用我正常使用的瓷砖,一个用另一个瓷砖放大,以确保它不仅仅是对我的抗锯齿效果。
这是负责获取每个图块的像素坐标的代码。显然,每个奇数行的偏移都有一些误算,但只是增加或减去一个像素只会增加间隙。
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我正在使用以防万一有人在想。
答案 0 :(得分:0)
您是否尝试过将HEX_WIDTH减少1?
private static final float HEX_WIDTH = 96;
你的身高显然很好,因为你没有水平间隙。
答案 1 :(得分:0)
按1.01f缩放单个精灵可以减小间隙的大小,足以考虑解决此问题。