我是 Unity 的新手,我的问题看起来很简单,但我在网上找不到答案。我正在尝试在 Oculus Quest 上实现 VoiceSDK(语音识别)。当发生错误时,Wit 会自动调用一个名为 OnError(string, string) 的事件。但是使用检查器,我无法使这些字符串显示在 TextMeshPro 中。我只能用事件给出 1 个参数。我可以使用的唯一功能是“BroadcastMessage”或“SendMessage”......
问问题
20 次
1 回答
0
如前所述,您不能直接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?
}
}
然后在下拉列表中,您宁愿从动态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;
}
}
并相应地参考您的两个文本
于 2022-02-22T05:14:32.660 回答