是否将XML文件转换为lua表?
我有一个从平铺生成的XML文件(格式:) 例如:是否将XML文件转换为lua表?,xml,lua,Xml,Lua,我有一个从平铺生成的XML文件(格式:) 例如: <?xml version="1.0" encoding="UTF-8"?> <map version="1.0" orientation="isometric" width="100" height="100" tilewidth="64" tileheight="32"> <tileset firstgid="1" name="grass_and_water_0" tilewidth="64" tileheig
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.0" orientation="isometric" width="100" height="100" tilewidth="64" tileheight="32">
<tileset firstgid="1" name="grass_and_water_0" tilewidth="64" tileheight="64">
<image source="tiles/grass_and_water_0.png" trans="ff00ff" width="64" height="64"/>
</tileset>
<layer name="Tile Layer 1" width="100" height="100">
<data>
<tile gid="1"/>
<tile gid="1"/>
<tile gid="1"/>
<tile gid="1"/>
<tile gid="1"/>
<tile gid="1"/>
<tile gid="1"/>
<tile gid="1"/>
<tile gid="1"/>
<tile gid="1"/>
<tile gid="1"/>
<tile gid="1"/>
<tile gid="1"/>
<tile gid="1"/>
<tile gid="1"/>
<tile gid="1"/>
<tile gid="1"/>
<tile gid="1"/>
<tile gid="1"/>
<tile gid="1"/>
</data>
</layer>
</map>
其中1将替换为平铺gid值。其余的数据(变量需要添加到另一个表中,我可以使用)
我之所以要这样做,是因为使用本机Lua表比XML解析和使用结果数据更快
额外垃圾漫游:
然后我可以简单地使用处的for命令生成显示
例如,它还允许我为ontop上的对象生成更多的层
objects_map[][] = [[0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,3,3,3,3,4,4,5,5,5,5,0,0],
[0,0,3,3,3,3,3,4,6,6,6,5,0,0],
[0,0,3,3,3,3,4,1,6,5,5,6,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0]]
然后我可以在一个draw调用中显示它,将两个数组组合起来,并用tile_map和objects表中的表数据替换0,以创建类似
variables = [tilewidth=64,tileheight=64,width=100,height=100]
tileset = [1=[source="tiles/grass_and_water_0.png",width=64,height=64],....]
tile_map[][] = [[1,1,1,1,1,1,1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1]]
result_map[][] = [[1,1,1,1,1,1,1,1,1,1,1,1,1,1],
[1,1,3,3,3,3,4,4,5,5,5,5,1,1],
[1,1,3,3,3,3,3,4,6,6,6,5,1,1],
[1,1,3,3,3,3,4,1,6,5,5,6,1,1],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1]]
看起来很简单,我所需要做的就是找出如何将XML转换为tilemap
任何帮助都会很好,或者关于我可以在哪里获得帮助的方向,我查看了lua用户,并没有找到任何对我有帮助的东西。我建议。我在生产代码中使用过它,效果非常好。您只需编写一些回调函数,当遇到输入XML结构的各个部分时,这些回调函数将生成所需的Lua表。应该很快。您好,我有一个关于luaexpat的类似问题,因为您知道如何使用它,我可以请您帮我解答我的问题吗?