多语言展示
当前在线:571今日阅读:19今日分享:20

Unity 入门教程 之 快速学会使用Lambda匿名委托

Unity 入门教程 之 快速学会使用Lambda匿名委托。委托和观察者设计模式差不多,和观察者设计模式差不多,代码少。本节介绍如何使用Lambda匿名委托的简单应用,具体如下
工具/原料
1

Unity

2

Delegate

一、基本概念

Lambda匿名委托:lambda表达式,其在C++中称为闭包,其格式如下: “()=>{};”,但记住分好(“;”)结尾;记住其格式即可,“()=>{};”,小括号里时面是参数,大括号里面是方法体;参考形式例如下:CallDelegate = (string str) => {            print(str + '调用Lambda委托'); };

二、Unity 入门教程 之 快速学会使用Lambda匿名委托
1

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

2

在工程中新建一个脚本,脚本分别可以命名为“DelegateTest”,具体如下图

3

选中“DelegateTest”脚本,双击脚本或者右键“Open C# Project”,打开脚本,具体如下图

4

在打开的“DelegateTest”脚本上进行代码编辑,首先定义委托名并带一个参数,然后声明委托对象,接着使用Lambda匿名委托(形式为“()=>{};”)的方法给委托对象添加委托函数,最后在Update函数里按下“D”键触发委托函数,具体代码及代码说明如下图

5

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

6

运行场景,按下“D”键,即可在控制台Console上看到打印结果,具体如下图

7

脚本具体代码如下:using UnityEngine;using System;public class DelegateTest : MonoBehaviour {    delegate void MyDelegate(string str);    MyDelegate CallDelegate;    // Use this for initialization    void Start () {        CallDelegate = (string str) => {            print(str + '调用Lambda委托');        };    }        // Update is called once per frame    void Update () {        if (Input.GetKeyDown(KeyCode.D)) {            CallDelegate (DateTime.Now.ToString('yyyy年MM月dd日'));        }    }}

8

到此,《Unity 入门教程 之 快速学会使用Lambda匿名委托》讲解结束,谢谢

注意事项

若帮到您,还请帮忙投票以帮助到更多的人;若有疑问,请留言

推荐信息