Unity 委托 之 快速学会Action添加函数委托
1、Action<T>:
封装一个方法,该方法可添加多个参数但是无返回值,其中T是可接收的任何类型
2、Action使用:
1)可以使用 +=、-= 添加Action委托
2)在 Unity 编程的时候,添加上 using System;
3)Action 用于无返回值的委托
1、打开Unity,新建一个空工程,然后Unity界面如下图

2、在工程中新建一个脚本,脚本可以命名为“ActionTest”,具体如下图

3、选中“ActionTest”脚本,双击脚本或者右键“Open C# Project”,具体如下图

4、在打开的“ActionTest”脚本上进行代码编辑,首先定义委托,其中一个不带参数,另一个带参数,接着给委托添加委托函数,并在Update函数中分别按下“A”、“S" 键触发委托函数,最后实现委托函数,具体代码及代码说明如下图

5、脚本具体代码如下:
using UnityEngine;
using System;
public class ActionTest : MonoBehaviour {
public Action MyTestAction1;
public Action<string> MyTestAction2;
// Use this for initialization
void Start () {
MyTestAction1 = ActionToFunc1;
MyTestAction1 += ActionToFunc1_1;
MyTestAction2 = ActionToFunc2;
}
// Update is called once per frame
void Update () {
if (Input.GetKeyDown(KeyCode.A)) {
MyTestAction1 ();
}
if (Input.GetKeyDown(KeyCode.S)) {
MyTestAction2 ("带参数Action");
}
}
void ActionToFunc1(){
print ("Action 触发 ActionToFunc1");
}
void ActionToFunc1_1(){
print ("Action 触发 ActionToFunc1_1");
}
void ActionToFunc2(string str) {
print ("Action 触发 ActionToFunc2 " + str);
}
}
6、脚本编译正确后,回到Unity界面,在场景中新建一个“GameObject”,然后把脚本“ActionTest ”赋给“GameObject”,具体如下图

7、运行场景,即可看到控制台Console上的打印结果与预期一致,具体如下图

8、到此,《Unity 委托 之 快速学会Action添加函数委托》讲解结束,谢谢