gpt4 book ai didi

c# - 无法将类型 `UnityEngine.Events.UnityAction' 隐式转换为 `UnityEngine.Events.UnityAction'

转载 作者:太空宇宙 更新时间:2023-11-03 12:51:25 24 4
gpt4 key购买 nike

我想按照教程通过标准 Unity 监听器发送参数。

mbListener = new UnityAction<string>(SomeFunction);

void SomeFunction(string _message)
{
Debug.Log ("Some Function was called!");
}

为什么会失败并显示上述错误消息?顺便说一句,我正在寻找实用的答案,真的不关心技术谈话。

(NB Unity 自己的手册说它可以处理参数,但我不知道为什么这是错误的)。

最佳答案

你申报了什么mbListener作为?可能是它的类型 - UnityAction .声明为 UnityAction并用 UnityAction<string> 分配它是你的问题。

根据您的要求,您可以执行以下两项中的任何一项来修复 -

UnityAction<string> mbListener = new UnityAction<string>(SomeFunction);

UnityAction mbListener = new UnityAction(SomeFunction);
void SomeFunction()
{
Debug.Log ("Some Function was called!");
}

编辑正如@MotoSV 指出的那样......你应该用 mbListener("String parameter"); 来调用它

mbListener 是您要调用的任何函数/监听器的占位符。当您需要调用它时,您只需调用 UnityAction 变量并将参数传递给它。所以mbListener("String parameter");会为你工作。

关于c# - 无法将类型 `UnityEngine.Events.UnityAction<string>' 隐式转换为 `UnityEngine.Events.UnityAction',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35390640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com