gpt4 book ai didi

unity-game-engine - 从编辑器设置 UnityEvents 并使它们调用正确的参数

转载 作者:行者123 更新时间:2023-12-02 16:39:43 26 4
gpt4 key购买 nike

我正在使用 UnityEvents,如所述 here 。那里写着

When configuring a UnityEvent in the Inspector there are two types offunction calls that are supported:

Static. Static calls are preconfigured calls, with preconfiguredvalues that are set in the UI. This means that when the callback isinvoked, the target function is invoked with the argument that hasbeen entered into the UI.

Dynamic. Dynamic calls are invoked using anargument that is sent from code, and this is bound to the type ofUnityEvent that is being invoked. The UI filters the callbacks andonly shows the dynamic calls that are valid for the UnityEvent.

所以我得到一个带有参数的 UnityEvent,如下所示

 public class UnityEventFloat : UnityEvent<float>
{
}
public UnityEventFloat OnUpdateEvent;

这在检查器中显示为

A callback entered to a UnityEvent

如您所见,我已向 UnityEvent 添加了回调函数 setWaitTime。该函数具有以下形状 public void setWaitTime(float t)

之后,UnityEvent 将在代码中调用

OnUpdateEvent.Invoke(aValue);

尝试了所有这些,但效果不佳,因为调用函数时使用参数 0(如在检查器中)我想要的是它使用参数 aValue (这是代码中的内部变量)调用函数

我该怎么做?我想我不太理解文档中上面的引用。我的情况类似于“静态”,我要求它像“动态”一样工作

<小时/>

编辑2:

我必须解决这个问题,所以我要把它写在答案中

<小时/>

编辑:(旧)我尝试了建议的答案,我得到了这个 enter image description here我不知道这如何解决问题(请注意,现在参数是脚本。但这是在同一个脚本(SliderGestureControl)内)

最佳答案

我终于让它发挥作用了。显然我在从下拉列表中选择功能时犯了一个错误。我选择了“静态”标签下的函数,但我应该选择相同的函数,但在列表顶部的“动态”标签下(我没有看到)。

函数 setWaitTime 在检查器中没有任何参数(因此它动态地使用 UnityEvent 提供给它的参数。

关于unity-game-engine - 从编辑器设置 UnityEvents 并使它们调用正确的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51095080/

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