TmxMapLoader для использования упакованного набора тайлов

В старой API-карте libgdx они имели

map = TiledLoader.createMap(Gdx.files.internal("maps/testmap.tmx"));
atlas = new TileAtlas(map, Gdx.files.internal("maps"));
tileMapRenderer = new TileMapRenderer(map, atlas, 8, 8); 

Однако в новом libgdx правило меняется, чтобы загрузить карту тайла, больше нет необходимости сначала использовать упаковщик карт. Вы можете напрямую использовать файл.tmx с набором плиток png. Будет работать что-то вроде следующего, а затем вызвать render.

TiledMap map = new TmxMapLoader().load("maps/testmap.tmx");

Мой вопрос - оригинальный файл tileselt.png, который использовался для генерации файла.tmx, его размер не равен двум. Поэтому мне по-прежнему нужно использовать упаковщик текстур или упаковщик карт, чтобы упаковать его для использования.

Я не мог успешно связать упакованный файл с.tmx;

Есть ли способ подойти к этому вопросу?

Спасибо

2 ответа

Если вы нацелены на GLES 1.0, вам понадобится набор из двух степеней. Некоторые устройства могут разрешать не-двойную мощность с GLES 1.0, но это не гарантируется. В GLES 2.0 это ограничение снято, но вы все равно можете получить лучшую производительность за счет двойного действия.

Вы по-прежнему можете использовать карты, созданные TiledMapPacker, вам просто нужно загрузить карту с AtlasTmxMapLoader вместо TmxMapLoader,

Они не должны быть силой двух. Если у вас есть проблемы с ним, как вы получаете набор из двух ошибок Texture.setEnforcePotImages(false); внутри вашего основного класса.

Вам больше не нужен упаковщик, поэтому я думаю, что вы не можете связать упаковщик с файлом tmx.

Если вы используете TmxMapLoader наборы плиток должны находиться внутри одной и той же папки .tmxфайл. Если они находятся в другом каталоге, вам нужно настроить исходный путь внутри .tmx файл. Вот пример:

<tileset firstgid="257" name="mountain" tilewidth="32" tileheight="32">
  <image source="mountain.png" width="512" height="512"/>
</tileset>

это обычный вывод Tiled. Если Tileset находится, например, в config, вам нужно изменить его следующим образом:

<tileset firstgid="257" name="mountain" tilewidth="32" tileheight="32">
  <image source="config/mountain.png" width="512" height="512"/>
</tileset>

Но это все еще должна быть подпапка пути, где находится файл tmx.

С уважением надеюсь, что может помочь.

Другие вопросы по тегам