我目前正在从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");