我目前正在从Assets文件夹加载平铺的地图。

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

但是我想做出类似一天中的事情。
是否可以从字符串加载平铺地图?

字符串将是.tmx文件的内容。

示例http://pastebin.com/WpV90Hma

最佳答案

最简单的方法可能是使用内容创建一个(临时)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");

08-28 18:48