• 【代码优化】Unity查漏补缺


    1.XML:

      使用Unity社区中的开源脚本(Js语言)解析XML文件,网址:http://dev.grumpyferret.com/unity/,已打包XMLParser.unitypackage,保存在PluginsXMLParser目录内。网盘地址: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安装目录EditorDataDocumentationhtmlenuploadsMain下有一个文件Mono.Xml.zip,这是Unity官方提供的一个精简版的XML解析脚本(C#语言)。

      该文件在Unity5安装目录EditorDataDocumentationenuploadsMain下。

    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 }
  • 相关阅读:
    [asp.net] 网页自动刷新总结
    内容页中修改母版页内容
    [asp.net] 页面传值方法小记
    [VSS2005] 源代码管理bin文件夹里的.dll总是被签出,不能同时编译解决办法
    [asp.net] 设置与获取CheckBoxList多选的值
    [转] asp.net中repeater按钮传值与分页
    [asp.net] 验证控件的属性及用法
    [asp.net] 格式化repeater字段显示
    VPS绑定中文域名方法
    M/T法测速经典解析(转)
  • 原文地址:https://www.cnblogs.com/muxiaomo/p/4558262.html
Copyright © 2020-2023  润新知