【问题标题】:How to override Text Mesh Pro functions in Unity?如何在 Unity 中覆盖 Text Mesh Pro 功能?
【发布时间】: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 这是 IS MonoBehaviour => 你可以将其附加到 GameObjects ...您如何继续并在声称不可能之前尝试一下;)
  • 试试吧:"v
  • 只要确保脚本名称也与类名称 FocusInputField.cs 完全匹配(扩展名在 Unity 本身中不可见,但在文件浏览器中可见)

标签: c# android unity3d


【解决方案1】:

我的文件名拼错了!谢谢大家

不幸的是,修复不起作用。键盘仍然会消失然后重新出现,无法真正让它消失。

【讨论】:

    猜你喜欢
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    • 2017-11-17
    • 1970-01-01
    • 1970-01-01
    • 2020-05-26
    • 2015-12-27
    相关资源
    最近更新 更多