Я создал шестиугольную изометрическую мозаичную карту, используя HexagonalTiledMapRenderer в libGDX и программу Tiled. Карта рендерится корректно, но я не знаю, как получить информацию об отдельных тайлах, и поэтому не знаю, как быть с пользовательским вводом.
Я хочу, чтобы плитка загоралась при наведении на нее (также чтобы что-то о плитке можно было напечатать, например, какая это плитка, то есть лес, река, горы), поэтому я полагаю, что мне понадобится какая-то сетка -подобная система, и я думал, что мне выдаст тайловая карта, но я не могу ее найти/понять.
Немного кода
Основной базовый класс
public class MyGdxGame extends Game {
@Override
public void create () {
setScreen(new Play());
}
}
игровой класс
public class Play implements Screen {
private TiledMap map, hexMap;
private HexagonalTiledMapRenderer hexRenderer;
private OrthographicCamera camera;
@Override
public void show() {
hexMap = new TmxMapLoader().load("hexTiledMap.tmx");
System.out.println(hexMap.getProperties().getKeys());
hexRenderer = new HexagonalTiledMapRenderer(hexMap);
camera = new OrthographicCamera();
camera.setToOrtho(false);
}
@Override
public void render(float delta) {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
hexRenderer.setView(camera);
hexRenderer.render();
}
@Override
public void resize(int width, int height) {
camera.viewportWidth = width;
camera.viewportHeight = height;
camera.update();
}
}
Пример того, что я хочу с ним сделать
Я хочу иметь возможность, например, сделать одну плитку ярче или краснее, или заставить ее исчезнуть. Поэтому я в основном хочу сделать плитки интерактивными. Я хочу, чтобы программа знала, например, какая плитка находится под курсором. Это все только примеры, надеюсь, вы понимаете, чего я хочу.