zoukankan      html  css  js  c++  java
  • 【代码优化】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 }
  • 相关阅读:
    hdu
    《Linux命令行与shell脚本编程大全》 第十四章 学习笔记
    zoj 3665 Yukari's Birthday(枚举+二分)
    ActiveMQ使用STOMP协议的一个错误问题:Unexpected ACK received for message-id
    Ubuntu下屏幕录像、后期处理不完全攻略
    find-all-numbers-disappeared-in-an-array
    find-right-interval
    non-overlapping-intervals
    cut命令如何截取以空格隔开的字段
    arranging-coins
  • 原文地址:https://www.cnblogs.com/muxiaomo/p/4558262.html
Copyright © 2011-2022 走看看