Unity
Delegate
委托:相当于一个数据类型,委托在这里定义了MakeGreeting可以代表的方法的类型,即函数参数和返回值类型与委托的一致,在最后调用GreetPeople()函数时EnglishGreeting变成GreetingDelegate类型的数据
委托特性:委托GreetingDelegate 和 类型 string 的地位一样,都是定义了一种参数类型,但是委托不同于string的一个特性:可以将多个方法赋给同一个委托,或者叫将多个方法绑定到同一个委托,当调用这个委托的时候,将依次调用其所绑定的方法。(如上,第一次绑定方法是用'=',因为delegate1现在是空的,之后用'+=',也可以使用'-='的方式取消对某一个方法的绑定。)
打开Unity,新建一个空工程,然后Unity界面如下图
在工程中新建2个脚本,脚本分别可以命名为“DelegateTest”、“CallDelegateTest”,双击脚本或者右键“Open C# Project”,打开脚本,具体如下图
在打开的“DelegateTest”脚本上进行代码编辑,首先定义委托名并带一个参数,然后声明委托对象,接着用另一种方法调用委托,具体代码及代码说明如下图
在打开的“CallDelegateTest”脚本上进行代码编辑,首先给委托对象添加委托事件函数,然后完成委托函数功能代码,最后在Update函数中按“D”键调用委托对象,触发委托函数,具体代码及代码说明如下图
脚本编译正确后,回到Unity界面,在场景中新建一个“GameObject”,然后把脚本“DelegateTest”、“CallDelegateTest”赋给“GameObject”,具体如下图
运行场景,即可在控制台Console上看到打印结果,具体如下图
到此,《Unity 入门教程 之 快速学会委托的使用》讲解结束,谢谢
委托的使用形式还有多种,在接下来的会一一介绍
若帮到您,还请帮忙投票以帮助到更多的人;若有疑问,请留言