【问题标题】:Public Function cant be found in OnClick Event在 OnClick 事件中找不到公共功能
【发布时间】:2022-02-26 06:17:50
【问题描述】:

所以我有一个库存并且项目有我正在扫描的 MataData。虽然当我尝试将公共 void 连接到 Button 上的 OnClick 选择时,它没有显示出来,为什么? 代码截断:

public void ScanForFlashlightMetaData(string type, string Flashlight)
    {
        foreach (Slot slot in inventory)
        if (slot.type == type && slot.metaData == Flashlight)
        {
            Debug.Log("Test");
        }
    }

【问题讨论】:

  • 您能解释一下“将公共空白连接到 OnClick 选择”和“它不显示”是什么意思吗?
  • 在统一中,您有一个按钮,您可以在其中拖动脚本(例如 TestScript)。如果单击“无函数”,则可以选择一个函数(例如 public void TestFunction())。我的问题是该功能没有在那里显示,更奇怪的是,如果我删除“字符串手电筒”和“&& slot.metaData == 手电筒”,它可以工作,我无法解释?
  • @GabrielLuci ???

标签: c# unity3d


【解决方案1】:

分配给ButtonClickEvent 的回调函数只能接受零个或一个参数(这就是为什么当你删除它们时它会出现)。

尝试寻找here 的解决方法,或考虑创建一个自定义Button 类,该类使用最多支持四个参数的通用UnityEvent<T0, T1, ...>。

【讨论】:

  • 谢谢!我不知道我只能为此使用 1 个参数。帮了大忙=)
猜你喜欢
  • 2021-02-10
  • 1970-01-01
  • 2021-04-09
  • 1970-01-01
  • 1970-01-01
  • 2020-05-31
  • 2021-10-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多