Я устанавливаю контрольные точки в своей игре и хочу, чтобы игрок получал цвет, который должен быть каждый раз, когда он появляется. В противном случае игрок умирает немедленно.
Я попробовал этот фрагмент кода внутри прослушивателя контактов (проверка контакта между прибором a (игроком) и прибором b (контрольная точка)):
MapObjects objects = play.getTileMap().getLayers().get("checkpoints").getObjects();
for (MapObject object : objects) {
if (object.getProperties().containsKey("Color")) {
int color = object.getProperties().get("Color", Integer.class);
Gdx.app.log("Respawn color", Integer.toString(color));
game.setRespawnColor(color);
}
}
Однако этот код не получает свойство «Цвет» с контрольной точки, с которой сталкивается игрок, а с последней найденной контрольной точки.
Обходным решением было бы добавить один слой контрольных точек для каждого цвета (red_checkpoint), например, но это добавило бы то, что кажется большим количеством ненужного кода.
Спасибо!