首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

unity中Action传递参数

在Unity中,Action是一种委托类型,通常用于定义不带返回值的方法。但是,有时候需要在方法调用时传递参数。下面将介绍如何在Unity中使用Action传递参数。

定义带参数的Action

为了定义一个带参数的Action,需要在委托类型后面加上一对括号,并在括号中列出参数的类型。例如,下面是一个包含两个整数参数的Action定义:

public Action OnActionWithParameters;

传递参数

要使用Action并传递参数,需要在调用方法时提供参数的值。例如,假设有一个名为“DoSomething”的方法,它需要两个整数参数:

void DoSomething(int param1, int param2) { //方法体 }

要使用Action调用此方法并传递参数,可以使用以下方法:

OnActionWithParameters?.Invoke(1, 2);

在这个例子中,我们使用了可空操作符“?”以确保Action不为空。然后,我们使用Invoke方法调用Action并传递两个整数参数。

Lambda表达式

在Unity中,Lambda表达式是一种常用的方式来定义带有参数的Action。Lambda表达式使代码更加简洁易懂。例如,下面是一个使用Lambda表达式的例子:

OnActionWithParameters = (param1, param2) => { Debug.Log($"Parameter 1: , Parameter 2: "); };

在这个例子中,我们使用Lambda表达式定义了一个带有两个参数的Action。在Action执行时,Lambda表达式将打印参数的值。

总结

Action是Unity中一种常用的委托类型,通常用于定义不带返回值的方法。要使用Action传递参数,需要在定义中指定参数类型,并在调用时提供参数的值。Lambda表达式是一种常用的方式来定义带有参数的Action,可以使代码更加简洁易懂。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230226A0120100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券