在 Unity 上使用 2 个参数事件更新 UI

Update UI with a 2 parameters event on Unity

我是 Unity 的新手,我的问题看起来很简单,但我在网上找不到答案。 我正在尝试在 Oculus Quest 上实现 VoiceSDK(语音识别)。 当发生错误时,Wit 会自动调用一个名为 OnError(string, string) 的事件。但是使用检查器,我无法使这些字符串显示在 TextMeshPro 中。我只能通过事件给出 1 个参数。我可以使用的唯一功能是“BroadcastMessage”或“SendMessage”...

如前所述,您不能通过事件直接设置 Text.text

您的 Text 需要一个专用组件,例如

[RequireComponent (typeof (Text))]
public class ErrorHandler : MonoBehaviour
{
    [SerializeField] private Text _text;

    void Awake ()
    {
        if(!_text) _text = GetComponent<Text>();
    }

    public void HandleError(string a, string b)
    {
        _text.text = a; // or b?
    }
}

然后在 drop-down 中,您宁愿 select 这个 HandleError 方法来自 动态 方法。


或者你做 se 但是在这个对象本身上有一个像

这样的组件
public class ErrorHandler : MonoBehaviour
{
    [SerializeField] private Text buttonText;
    [SerializeField] private Text logText;

    public void HandleError(string a, string b)
    {
        buttonText.text = a;
        logText.text = b;
    }
}

并相应地引用你的两个文本