Unity c# 委托和回调 匿名函数和Lambda表达式

回调可以同时保存多个函数调用,可以有多个参数, 没有返回值

执行结果

委托可以同时保存多个函数调用,可以有多个参数, 可以有返回值 ,但是只有最后绑定的那个函数调用的返回值才会被返回

执行结果,两个函数都有输出,但最终的返回值只有2

匿名函数和Lambda表达式
两者都是为了更方便的设定回调或委托出现的
以回调为例,先看匿名函数
匿名函数可以带参数,也可以不带参数。如果带参数,参数的类型和数量需要和回调保存一致;不带参数的匿名函数可以指定到任何回调上面(不管那个回调有没有参数,不过这样,这个匿名函数就没有办法在自己的函数体中访问可能存在的参数了)

执行结果

Lambda表达式
Lambda表达式必须和绑定的回调参数保持一致

执行结果

DOTween的特殊函数To的用法
DOTween.To(),可以将某种值(包括int,float,vector3等)在设定的时间内慢慢的变成另一个值,可以实现很多特殊的效果
To()需要四个参数,前两个都是委托类型的


执行结果都是一样的,将V的值在2秒内变成3

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity中,回调函数是一种常见的编程模式,用于在特定事件发生时执行特定的代码。回调函数通常用于处理异步操作、事件触发和消息传递等情况。 Unity中的回调函数可以通过以下几种方式来实现: 1. 事件委托和事件:Unity中的事件系统允许你定义和触发自定义事件,并将回调函数附加到这些事件上。你可以使用事件委托来定义事件的签名,然后使用事件关键字创建事件。当事件被触发时,附加的回调函数将被调用。 2. MonoBehaviour生命周期函数:MonoBehaviour是Unity中所有脚本的基类,它提供了一系列生命周期函数,如Start、Update、FixedUpdate等。你可以重写这些函数,并在特定的时间点执行你的代码。例如,在Start函数中初始化游戏对象,在Update函数中更新游戏逻辑。 3. 委托Lambda表达式Unity也支持使用委托Lambda表达式来实现回调函数。你可以定义一个委托类型,并将其作为参数传递给其他方法。然后,你可以使用Lambda表达式来创建匿名方法,并将其作为回调函数传递给委托。 4. UnityEvent:Unity还提供了UnityEvent类,它是一种可序列化的事件类型。你可以在脚本中声明一个UnityEvent类型的公共字段,并在Inspector面板中将回调函数附加到该事件上。当事件被触发时,附加的回调函数将被调用。 总结一下,Unity中使用回调函数的方式包括事件委托和事件、MonoBehaviour生命周期函数委托Lambda表达式以及UnityEvent。这些方法可以帮助你在特定的事件发生时执行特定的代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值