InputField的提示/错误消息(统一)

时间:2018-10-17 10:43:13

标签: c# unity3d input-field hint

借助Android / Java,您可以使用类似的内容

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

EditText中显示输入文本的错误消息/提示:

enter image description here

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

是否存在常用的设计/布局来显示类似Unity / Windows游戏中的消息?

1 个答案:

答案 0 :(得分:1)

不,但是你可以自己做!

添加一个新的游戏对象,将其作为子对象添加到您与InputField相连的游戏对象上。 您可以根据需要进行任意编辑,但只需添加UnityEngine.UI.Text即可,并确保通过defualt不能激活新的GameObject。

现在使用您的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应用于您创建的子GameObject!

请注意,我没有测试此代码(我现在无法统一访问PC),因此如果有任何错误,请询问:)