Я пытаюсь нарисовать карту с шестиугольными плитками. Однако мне не удается правильно выстроить плитки, поэтому между ними нет места. Один с плитками, которые я обычно использую, а другой с увеличенным масштабом и другой плиткой, чтобы убедиться Дело не только в том, что со мной шутят сглаживание.
Это код, который отвечает за получение пиксельных координат для каждой плитки. По-видимому, есть какой-то просчет со смещением каждой нечетной строки, но простое добавление или вычитание пикселя только увеличивает промежутки.
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);
}
Кроме того, вот плитки, которые я использую, если кому-то интересно.