当前位置: 代码迷 >> C# >> unity3D项目中如何处理硬代码(C#)
  详细解决方案

unity3D项目中如何处理硬代码(C#)

热度:6   发布时间:2016-05-05 03:17:57.0
unity3D项目中如何避免硬代码(C#)

平时做项目,代码中是不允许出现硬代码的,一般我们是怎么处理的呢? 那么硬代码又是什么呢?

我们俗称的硬代码:eg:  1 public UIlabel label; 2 label.text = "欢迎来到梦幻岛";  这样我们俗称为硬代码。

好了,那么该如何避免,话不多说,直接上图:

这是一种处理方式,TXT 格式的文档,前面是ID,后面是描述性文字。

可是我们该如何在项目中访问这个txt文件里面的数据呢? 话不多说,直接上代码:

 1 using UnityEngine; 2 using System.Collections; 3  4 public class ReadTxt :MonoBehaviour{ 5  6     public TextAsset txt; 7     public static ReadTxt _instance; 8     string fonttxt; 9     void Awake() 10     {11         _instance = this;12     }13 14     void Start() { }15 16     public string GetFont(int ID)17     {18         string[] taskinfoArray = txt.ToString().Split('\n');19         foreach(string str in taskinfoArray){20         21             string[] Fontlist = str.Split('|');22             int id = int.Parse(Fontlist[0]);23             while (ID== id) {24                 fonttxt = Fontlist[1];25                 break;26             }27         }28 29         return fonttxt;30     }31    32 33 }

 上述用到了单利,单利这里我们就不赘述了。

string[] taskinfoArray = txt.ToString().Split('\n');  这里有些朋友就要问了,Split('\n')是干什么的,它是分割函数,检测是否有换行操作,如果有换行我们把它存在数组里面,
上面的txt文档,我们就是写完一行,肯定要回车换行写下一句,这里就是用这个Split()函数进行检测的。
  好了说到这里,想必大家都清楚了吧。至于调用呢,这个就很简单了。
 1 using UnityEngine; 2 using System.Collections; 3  4 public class TestTxt : MonoBehaviour { 5  6     public UILabel label; 7  8  9     void Start() 10     {11         string bbb = ReadTxt._instance.GetFont(1001);12         13         label.text = bbb;14     }15 16 }

然而label显示的 文字必定是:维护公告。  这里我们只是抛砖引玉,所以写的比较粗糙,望大家谅解。