我当前从资产文件夹加载我的平铺地图。
TiledMap tileMap = new TmxMapLoader().load("assets/level1.tmx");
但我想做出像当天的水平。 是否可以从字符串加载平铺地图?
字符串将是.tmx文件的内容。
答案 0 :(得分: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");
答案 1 :(得分:0)
从TmxLoader继承和重写方法,我可以从XML字符串加载地图:http://pastebin.com/gQHQv6eV
!!但是!!,这是非常糟糕,只加载真正的基础TMX文件。它可以继续加载复杂的TMX,但我现在不需要它。
TMX引用的文件(tilesets ...)必须位于您的应用工作目录中。