libGDX загружает мозаичную карту из строки

В настоящее время я загружаю свою мозаичную карту из папки с ресурсами.

TiledMap tileMap = new TmxMapLoader().load("assets/level1.tmx");

Но я хочу сделать что-то вроде уровня дня. Можно ли загрузить мозаичную карту из строки?

Строка будет содержимым файла .tmx.

Пример http://pastebin.com/WpV90Hma


person Boldijar Paul    schedule 07.09.2015    source источник
comment
Нет, но вы можете сохранить данные в файл и загрузить оттуда.   -  person nEx.Software    schedule 07.09.2015


Ответы (2)


Вероятно, самым простым способом было бы создать (временный) FileHandle с содержимым и использовать его для загрузки карты.

По умолчанию TmxMapLoader будет использовать InternalFileHandleResolver. Это не сработает, потому что вы не можете создавать внутренние файлы во время выполнения.

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

String mapOfTheDay = ...;
FileHandle mapOfTheDayFile = Gdx.files.external("mygame/mapoftheday.tmx");
mapOfTheDayFile.writeString(mapOfTheDay, false);
TiledMap tileMap = new TmxMapLoader(new ExternalFileHandleResolver()).load("mygame/mapoftheday.tmx");
person noone    schedule 07.09.2015