【发布时间】:2021-12-30 00:51:26
【问题描述】:
我正在制作一个包含许多 TMP 输入字段的统一应用程序,我希望用户能够在保持键盘打开的同时与屏幕进行交互。在他们打字时,我会根据他们的文字呈现许多图像。
我找到了这个帖子: How to keep InputField keyboard open when focus is lost?
在这里提出相同的问题并提出可能的解决方案:
public class FocusInputField : TMP_InputField
{
protected override void OnDestroy()
{
this.StopAllCoroutines();
}
public override void OnDeselect(BaseEventData eventData)
{
base.OnDeselect(eventData);
this.StartCoroutine(ReselectCoroutine());
}
private IEnumerator ReselectCoroutine()
{
yield return null;
this.ActivateInputField();
this.Select();
}
}
我想尝试这个解决方案并覆盖一些 TMP 函数,但我不知道如何实现它。我创建了一个新脚本并添加了此代码,但由于它不是单一行为,我无法将这个新类添加到我的游戏对象中。我该怎么做?
【问题讨论】:
-
since its not a monobehavior... 但它是TMP_InputField这是Selectable这是UIBehaviour这是 ISMonoBehaviour=> 你可以将其附加到 GameObjects ...您如何继续并在声称不可能之前尝试一下;) -
试试吧:"v
-
只要确保脚本名称也与类名称
FocusInputField.cs完全匹配(扩展名在 Unity 本身中不可见,但在文件浏览器中可见)