unity3D项目中如何避免硬代码(C#)
2015-07-03 10:52
453 查看
平时做项目,代码中是不允许出现硬代码的,一般我们是怎么处理的呢? 那么硬代码又是什么呢?我们俗称的硬代码:eg: public UIlabel label; label.text = "欢迎来到梦幻岛"; 这样我们俗称为硬代码。好了,那么该如何避免,话不多说,直接上图:
这是一种处理方式,TXT 格式的文档,前面是ID,后面是描述性文字。可是我们该如何在项目中访问这个txt文件里面的数据呢? 话不多说,直接上代码:
![](http://images0.cnblogs.com/blog2015/708460/201507/031025132336910.png)
using UnityEngine; using System.Collections; public class ReadTxt :MonoBehaviour{ public TextAsset txt; public static ReadTxt _instance; string fonttxt; void Awake() { _instance = this; } void Start() { } public string GetFont(int ID) { string[] taskinfoArray = txt.ToString().Split('\n'); foreach(string str in taskinfoArray){ string[] Fontlist = str.Split('|'); int id = int.Parse(Fontlist[0]); while (ID== id) { fonttxt = Fontlist[1]; break; } } return fonttxt; } }上述用到了单利,单利这里我们就不赘述了。
string[] taskinfoArray = txt.ToString().Split('\n'); 这里有些朋友就要问了,Split('\n')是干什么的,它是分割函数,检测是否有换行操作,如果有换行我们把它存在数组里面, 上面的txt文档,我们就是写完一行,肯定要回车换行写下一句,这里就是用这个Split()函数进行检测的。 好了说到这里,想必大家都清楚了吧。至于调用呢,这个就很简单了。
using UnityEngine; using System.Collections; public class TestTxt : MonoBehaviour { public UILabel label; void Start() { string bbb = ReadTxt._instance.GetFont(1001); label.text = bbb; } }然而label显示的 文字必定是:维护公告。 这里我们只是抛砖引玉,所以写的比较粗糙,望大家谅解。
相关文章推荐
- [Unity3D]Script 脚本所有编译器属性详解
- A星寻路算法在unity3d中的实现与简单应用
- Unity3D 获得GameObjectHierarchy 中的全路径
- Unity3D中如何访问数据库
- 浅尝Unity 3D的Asset Bundle知识(二)-----打包基础篇
- Unity ----- 对象池GameObjectPool
- Android与Unity交互研究
- Unity3D之FingerGestures学习
- Unity3D之FingerGestures使用
- Android与Unity交互研究
- Unity3D 导出的apk进行混淆和加固(防止反编译)
- Unity3d插件研究之Easytouch
- Unity换装系统设计
- [Unity3D]Unity3D游戏开发《反对》说到游戏(上)——目标跟踪
- AR 中的阴影与浮现效果 (Unity实现)
- unity商店文件默认路径和脚本新建头文件
- Unity3D自定义天空盒Skybox的创建方法
- Unity学习 - Editor扩张
- Unity3D脚本 #pragma strict是什么
- unity3d环境安装指南: Unity 4.5.5 + Visual Studio 2010