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.
С уважением надеюсь, что может помочь.