libGDX从字符串加载平铺地图

时间:2015-09-07 18:01:00

标签: java libgdx tiled

我当前从资产文件夹加载我的平铺地图。

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

但我想做出像当天的水平。 是否可以从字符串加载平铺地图?

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

示例http://pastebin.com/WpV90Hma

2 个答案:

答案 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 ...)必须位于您的应用工作目录中。