Unity学习 — 委托
Unity 委托(一)
一:简单介绍
1,委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。
2,网上的很多介绍都差不多,先实现最简单的吧
二:一个脚本解决问题
把这个脚本挂在一个空对象上即可
这个是Star里面的运行效果
这个是NGUI执行的效果
下面是代码,复制即可
public class WeiTuo : MonoBehaviour
{
internal delegate void DebugString(string parm); //申明委托
DebugString mydelegate; //实例委托
void Start ()
{
//这里实现的是连加时的效果
mydelegate = PrintOfCina;
PrintOfCina("第一次,中文");
print("........................");
mydelegate += PrintOfEngshi;
mydelegate("第二次,英文");
print("........................");
mydelegate = PrintOfCina;
PrintOfCina("第三次,中文");
print("........................");
mydelegate -= PrintOfEngshi;
mydelegate("第四次,英文");
}
void Update ()
{
}
private void PrintOfCina(string str)
{
print("我是中文"+str);
}
private void PrintOfEngshi(string str)
{
print("我是英文"+str);
}
void OnGUI()
{
if (GUILayout.Button("输出中文名字"))
{
mydelegate = PrintOfCina; //委托绑定方法
mydelegate("丁小未");
}
else if (GUILayout.Button("Debug English Name"))
{
mydelegate = PrintOfEngshi;
mydelegate("DingXiaowei");
}
}
}
三:自我总结
也是初学,简单记录自己的学习路程,更深的还要继续探究
四:支持
服务器总有一天你会需要,详细的服务器教程尽在 Jacob 博客,点点下方链接,轻松马上学会!
阿里云Esc全解和建站方法--------------------------------------- 服务器建站