手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

Unity 委托 之 快速学会Action添加函数委托

时间:2024-10-14 12:21:25

Unity 委托 之 快速学会Action添加函数委托。Action 委托与 Delegate 委托类似,都可以用来做事件委托使用,而且也可以使用三种方式进行添加半眺撷鸸委托;本节介绍添加指定函数来实现Action委托,具体如下

工具/原料

Unity

Action

一、基本概念

1、Action<T>:封装一个方法,该方法可添加多个参数但是无返回值,其中T是可接收的任何类型

2、Action使用:1)可以使用 +=、-= 添加Action委托2)在 Unity 编程的时候,添加上 using System;3)Action 用于无返回值的委托

二、委托 之 快速学会Action添加函数委托

1、打开Unity,新建一个空工程,然后Unity界面如下图

Unity 委托 之 快速学会Action添加函数委托

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

Unity 委托 之 快速学会Action添加函数委托

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

Unity 委托 之 快速学会Action添加函数委托

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

Unity 委托 之 快速学会Action添加函数委托

5、脚本具体代码如下:usingUnityEngine;u衡痕贤伎singSystem;publicclassActionTest:MonoBeha即枢潋雳viour{publicActionMyTestAction1;publicAction<string>MyTestAction2;//Usethisforinitialization voidStart(){ MyTestAction1=ActionToFunc1; MyTestAction1+=ActionToFunc1_1;MyTestAction2=ActionToFunc2; }//Updateiscalledonceperframe voidUpdate(){ if(Input.GetKeyDown(KeyCode.A)){ MyTestAction1(); }if(Input.GetKeyDown(KeyCode.S)){MyTestAction2("带参数Action"); } }voidActionToFunc1(){ print("Action触发ActionToFunc1"); }voidActionToFunc1_1(){print("Action触发ActionToFunc1_1"); }voidActionToFunc2(stringstr){ print("Action触发ActionToFunc2"+str); }}

6、脚本编译正确后,回到Unity界面,在场景中新建一个“GameObject”,然后把脚本“ActionTest”赋给“GameObject”,具体如下图

Unity 委托 之 快速学会Action添加函数委托

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

Unity 委托 之 快速学会Action添加函数委托

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

© 手抄报圈