我正在为基于浏览器的游戏设计地图,我真的很难让地图在页面上正确加载。该游戏是一款简单的2D自上而下游戏。我希望使用存储在XML文件中的每个磁贴的数据在页面上的表中汇编地图。我被困在访问XML文件中的正确数据,然后将其输出到网页上。目前的XML文件类似于:
<map>
<y_pos_1>
<x_pos_1 type="grass" active="yes"/>
<x_pos_2 type="grass" active="yes"/>
<x_pos_3 type="grass" active="yes"/>
</y_pos_1>
<y_pos_2>
<x_pos_1 type="grass" active="yes"/>
<x_pos_2 type="grass" active="yes"/>
<x_pos_3 type="grass" active="yes"/>
</y_pos_2>
<y_pos_3>
<x_pos_1 type="grass" active="yes"/>
<x_pos_2 type="grass" active="yes"/>
<x_pos_3 type="grass" active="yes"/>
</y_pos_3>
</map>
我无法弄清楚如何使用DOM / XML请求使用XML数据在表中设置X和Y数据。我需要它来设置页面上XML文件中的每一行,其中包含XML文件中的类详细信息,类型属性。我尝试使用while循环来设置它但我无法定义行,即y_pos元素。它应该打印出3x3表,但我自己没有XML知识。如果有人能够按照正确的方向推动我做这件事,我将不胜感激。谢谢,艾登。
我知道我可能不太清楚。我不太擅长解释。如果你有兴趣帮助我,我可以尝试更好地解释它。请告诉我。感谢。
编辑:我从未考虑过JSON。主要是因为我从来没有听说过,我不知道从哪里开始。
答案 0 :(得分:0)
您的XML实际上并不是一种合理的格式 - 您需要表示一个2D数组。
以不同的方式表示2D数组,如何做到这一点表明:
<map>
<y pos="1">
<x pos="1" type="grass" active="yes"/>
<x pos="2" type="grass" active="yes"/>
<x pos="3" type="grass" active="yes"/>
</y>
<y pos="2">
<x pos="1" type="grass" active="yes"/>
<x pos="2" type="grass" active="yes"/>
<x pos="3" type="grass" active="yes"/>
</y>
<y pos="3">
<x pos="1" type="grass" active="yes"/>
<x pos="2" type="grass" active="yes"/>
<x pos="3" type="grass" active="yes"/>
</y>
</map>
就我个人而言,我会以不同的格式编码这样的东西(JSON很好),它只会返回你需要缓存在播放器附近的地图的某个子集。想想像谷歌地图这样的事情。显然他们不会立即返回整个地球的地图,他们肯定不会返回地图中已弃用的部分。
将其加载到DOM片段中。你想要显示这个怎么样?你想把它放在一个html表中,或者你想用画布显示它,或者什么?地图是如何呈现的?显然,一种“草”并不足以让人知道什么html元素需要放在特定的位置。
答案 1 :(得分:0)
我建议用javascript动态制作它,你可以使用一个非常干净,易于编写的数据格式,如下所示:
var level=
["abdecdfdhidnsksd"
,"fsldmgkxnkngjdxj"
,"kdnfndxgndxngjen"
,"djfjdznfdjdhfjnf"
,"fdmnjdgjdnejndjf"
,"sfnddxbvunusefne"
,"aknasdnfcjefbjgd"
,"efgfdwthyjtftdsw"
,"nsfeufnuwndauauf"]
document.write(level[3][5])