在 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;
}
}
并相应地引用你的两个文本
我是 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;
}
}
并相应地引用你的两个文本