【代码优化】Unity查漏补缺

1.XML:

  使用Unity社区中的开源脚本(Js语言)解析XML文件,网址:http://dev.grumpyferret.com/unity/,已打包XMLParser.unitypackage,保存在Plugins\XMLParser目录内。网盘地址:http://pan.baidu.com/s/1i3hCd0L

  使用方法:  

 1   // 读取XML
 2     void ReadXML()
 3     {
 4         m_EnemyList = new List<SpawnData>();
 5         SpawnData data;
 6 
 7         XMLParser xmlparse = new XMLParser();
 8         XMLNode node = xmlparse.Parse(m_XmlData.text);
 9 
10         XMLNodeList nodelist = node.GetNodeList("ROOT>0>table");
11         for (int i = 0; i < nodelist.Count; i++)
12         {
13             data = new SpawnData();
14             data.wave = int.Parse(node.GetValue("ROOT>0>table>" + i + ">@wave"));
15             data.enemyname = node.GetValue("ROOT>0>table>" + i + ">@enemyname");
16             data.level = int.Parse(node.GetValue("ROOT>0>table>" + i + ">@level"));
17             data.wait = float.Parse(node.GetValue("ROOT>0>table>" + i + ">@wait"));
18             m_EnemyList.Add(data);
19         }
20     }

  不使用.NET提供的XML功能是因为它会使游戏的体积变得较大,Unity官方不建议使用它。

  在Unity4安装目录Editor\Data\Documentation\html\en\uploads\Main下有一个文件Mono.Xml.zip,这是Unity官方提供的一个精简版的XML解析脚本(C#语言)。

  该文件在Unity5安装目录Editor\Data\Documentation\en\uploads\Main下。

2.transform:

  在脚本中直接使用transform,相当于于调用GetComponent<Transform>()。如果需要在Update()里面反复使用transform,可通过声明组件,调用引用的方式减轻性能消耗。

  

 1 public class MoveControl : MonoBehaviour
 2 {
 3     public float moveSpeed = 10F;
 4     private Transform thisT;
 5 
 6     void Awake()
 7     {
 8         thisT = this.GetComponent<Transform>();
 9     }
10 
11     void Update()
12     {
13         thisT.Translate(new Vector3(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical"), 0) * Time.deltaTime * moveSpeed);
14     }
15 }

 

posted @ 2015-06-07 12:38  沐小沫  阅读(410)  评论(0编辑  收藏  举报