您的位置:首页 > 移动开发 > Unity3D

unity中C#委托的应用

2015-02-27 15:58 176 查看
http://www.u3dchina.com/t-6355-1-1.html

unity 中的 有一种类型 叫委托类型 今天在Unity联盟上学习了一些 跟大家分享一下 我们常常将委托和事件合

起来讲,其实他们两是有些区别的,委托(delegate)是一种类型,而事件(Event)是一种实例(委托中的一种)

代码如下

普通浏览复制代码


using UnityEngine;


using System.Collections;




public class TestDelegate : MonoBehaviour


{




//定义一个委托(格式是不是很类很像),用来指向我们某个函数。(c++里面的指针函数)


//param参数是名字


private delegate void DebugString(string param);




/// <summary>


/// 输出中文名字


/// </summary>


public void DebugNameOfChina(string str)


{


Debug.Log("中文名字:" + str);


}




/// <summary>


/// 输出英文名字


/// </summary>


public void DebugNameOfEnglish(string str)


{


Debug.Log("English Name:" + str);


}




//定义一个委托的变量事件


private DebugString handlerDebugString;






void OnGUI()


{


if (GUILayout.Button("输出中文名字"))


{


//我想输出中文名字的话就给handlerDebugString 赋值成输出中文名字的这个函数DebugNameOfChina






handlerDebugString = DebugNameOfChina;


handlerDebugString("丁小未");


}


else if (GUILayout.Button("Debug English Name"))


{


//我想输出英文名字的话就给handlerDebugString 赋值成输出中文名字的这个函数DebugNameOfEnglish


handlerDebugString = DebugNameOfEnglish;


handlerDebugString("DingXiaowei");


}


}


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: