Unity 委托 之 快速学会Action添加匿名委托

 时间:2026-02-13 23:30:50

1、Action<T>:

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

2、Action使用:

1)可以使用 +=、-= 添加Action委托

2)在 Unity 编程的时候,添加上 using System;

3)Action 用于无返回值的委托

3、匿名委托形式:

形式为:delegate(){ },其中()里为参数,无参时可省略括号,{ }里面为具体实现的代码

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

Unity 委托 之 快速学会Action添加匿名委托

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

Unity 委托 之 快速学会Action添加匿名委托

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

Unity 委托 之 快速学会Action添加匿名委托

4、在打开的“ActionTest”脚本上进行代码编辑,首先定义委托,其中一个不带参数,另一个带参数,接着给委托使用匿名的方式(形式为:delegate(){ })添加委托函数,并在Update函数中分别按下“A”、“S" 键触发委托函数,具体代码及代码说明如下图

Unity 委托 之 快速学会Action添加匿名委托

5、脚本具体代码如下:

using UnityEngine;

using System;

public class ActionTest : MonoBehaviour {

    public Action MyTestAction1;

    public Action<string> MyTestAction2;

    // Use this for initialization

    void Start () {

                MyTestAction1 = delegate {

                        print ("Action 触发 ActionToFunc1");

        };

        MyTestAction1 += delegate {

            print ("Action 触发 ActionToFunc1_1");

        };

        MyTestAction2 = delegate(string str) {

            print ("Action 触发 ActionToFunc2 " + str);

        };

    }

        // Update is called once per frame

    void Update () {

                if (Input.GetKeyDown(KeyCode.A)) {

                        MyTestAction1 ();

        }

        if (Input.GetKeyDown(KeyCode.S)) {

            MyTestAction2 ("带参数Action");

        }

    }

        

}

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

Unity 委托 之 快速学会Action添加匿名委托

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

Unity 委托 之 快速学会Action添加匿名委托

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

  • 分享奥迪A6 3.0T刷ECU升级方案
  • 如何让孩子长高 长高必备五大营养元素
  • ubuntu使用安卓sdk
  • win7系统关闭80端口的方法
  • iis默认网站无法打开
  • 热门搜索
    深圳到厦门旅游攻略 四川旅游政务网官网 柞水旅游 海南有哪些旅游景点 苏州同里旅游攻略 上海市旅游集散中心 法国旅游注意事项 南京旅游景点推荐 虚拟旅游网 张家港旅游景点大全