最近在做一个windows phone上的小游戏。这个游戏是这样的。游戏有很多关卡,每个关卡的一些信息都写在 了
xml里。用户可以根据自己的需要选择关卡。这就需要从xml里读出这个关卡的设置。我要用4重循环才能完成这个功能。
我先解释一下xml这个文件。 这个里面包含了不同分辨率的手机的不同设置,而且每个分辨率下又有很多的布局。
下面是我的代码。 public BlockPoint[] GetSearchData()
{ XmlReader rdr = XmlReader.Create("InitializeSettingXML.xml");
while(!rdr.EOF) {
if (rdr.MoveToContent() == XmlNodeType.Element && rdr.Name == "resolution")
{
if (resolution == rdr.GetAttribute(0))//进入这种分辨率下搜索。
{
while (!rdr.EOF) {
rdr.Read();
if (rdr.MoveToContent() == XmlNodeType.Element && rdr.Name == "layout")
{
if (layout == rdr.GetAttribute(0))//读取当前分辨率下这种布局的数据。
{
getData(rdr); //这个函数里还有两重循环。 }
}
}
}
}
else
{ rdr.Read();
} }
return blocklist;
}我想问大家我的这种代码写法好不好,我总是觉得我的代码效率不高。但是又想不到更好的方法。如果有什么可以优化的地方,希望大家能告诉我。
xml里。用户可以根据自己的需要选择关卡。这就需要从xml里读出这个关卡的设置。我要用4重循环才能完成这个功能。
我先解释一下xml这个文件。 这个里面包含了不同分辨率的手机的不同设置,而且每个分辨率下又有很多的布局。
下面是我的代码。 public BlockPoint[] GetSearchData()
{ XmlReader rdr = XmlReader.Create("InitializeSettingXML.xml");
while(!rdr.EOF) {
if (rdr.MoveToContent() == XmlNodeType.Element && rdr.Name == "resolution")
{
if (resolution == rdr.GetAttribute(0))//进入这种分辨率下搜索。
{
while (!rdr.EOF) {
rdr.Read();
if (rdr.MoveToContent() == XmlNodeType.Element && rdr.Name == "layout")
{
if (layout == rdr.GetAttribute(0))//读取当前分辨率下这种布局的数据。
{
getData(rdr); //这个函数里还有两重循环。 }
}
}
}
}
else
{ rdr.Read();
} }
return blocklist;
}我想问大家我的这种代码写法好不好,我总是觉得我的代码效率不高。但是又想不到更好的方法。如果有什么可以优化的地方,希望大家能告诉我。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货