Hint/Error InputField 消息 (Unity)

Hint/Error message for InputField (Unity)

有了 Android/Java 你可以使用这样的东西

myEditText.setError("This field cannot be blank");

EditText:

中显示输入文本的错误 message/hint

在 C# 中是否有与 Unity 的 InputField 类似的东西,或者您是否必须自己制作(例如,文本在 5 秒后自动消失)?

在Unity/Windows游戏中有没有常用的design/layout来显示这样的消息?

没有,但您可以自己制作!

添加一个新的 GameObject 作为您的 InputField 附加到的 GameObject 的子项。 您可以随意编辑此游戏对象,但只需添加一个 UnityEngine.UI.Text 就可以了,并确保新游戏对象在默认情况下未处于活动状态。

现在使用您的 InputField 将脚本添加到 GameObject,并向其中添加如下内容:

public void OnStoppedEditing(string text) {
  if (text == "") { 
    errorWindow.SetActive(true); 
    errorText.text = "This field cannot be blank"; 

  }

}
public void Start() {
   //adds a listener that runs OnStoppedEditing when you stop editing myField
   myField.onEndEdit.AddListener(delegate {OnStoppedEditing(myField); }); 

   myField = gameObject.getComponent<InputField>();
   errorText = errorWindow.getComponent<Text>();
}
public GameObject errorWindow;
Text errorText; 
InputField myField;

确保将 "using UnityEngine.UI;" 添加到脚本的顶部

保存脚本并将 errorWindow 应用于您创建的子游戏对象!

请注意,我没有测试此代码(我现在无法访问带有 unity 的电脑)所以如果有任何错误,请直接询问 :)