Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否将XML文件转换为lua表?_Xml_Lua - Fatal编程技术网

是否将XML文件转换为lua表?

是否将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文件(格式:) 例如:

<?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的类似问题,因为您知道如何使用它,我可以请您帮我解答我的问题吗?