C# InputField(Unity)的提示/错误消息
使用Android/Java,您可以使用类似的东西C# InputField(Unity)的提示/错误消息,c#,unity3d,input-field,hint,C#,Unity3d,Input Field,Hint,使用Android/Java,您可以使用类似的东西 myEditText.setError("This field cannot be blank"); 要在编辑文本中显示输入文本的错误消息/提示,请执行以下操作: 在C#中,Unity的输入字段是否有类似的功能?或者您是否必须自己制作(例如,文本在5秒后自动消失) 在Unity/Windows游戏中,是否有一种常用的设计/布局来显示这样的信息?没有,但您可以自己制作 添加新的将游戏对象作为子对象添加到InputField附加到的游戏对象。
myEditText.setError("This field cannot be blank");
要在编辑文本中显示输入文本的错误消息/提示,请执行以下操作:
在C#中,Unity的输入字段
是否有类似的功能?或者您是否必须自己制作(例如,文本在5秒后自动消失)
在Unity/Windows游戏中,是否有一种常用的设计/布局来显示这样的信息?没有,但您可以自己制作 添加新的将游戏对象作为子对象添加到InputField附加到的游戏对象。 你可以随意编辑这个游戏对象,但只需添加一个UnityEngine.UI.Text就可以了,并确保新的游戏对象没有通过defualt激活 现在,使用您的InputField向游戏对象添加脚本,并向其中添加如下内容:
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;
public void OnStoppedEditing(字符串文本){
如果(文本==“”){
errorWindow.SetActive(真);
errorText.text=“此字段不能为空”;
}
}
公开作废开始(){
//添加在停止编辑myField时运行OnStoppedEditing的侦听器
myField.onEndEdit.AddListener(委托{OnStoppedEditing(myField);});
myField=gameObject.getComponent();
errorText=errorWindow.getComponent();
}
公共游戏对象错误窗口;
文本错误文本;
输入字段myField;
确保在脚本顶部添加“using UnityEngine.UI;”
保存脚本并将errorWindow应用于您创建的子游戏对象
请注意,我没有测试这段代码(我现在无法使用unity访问pc),因此如果它有任何错误,请询问:)谢谢!何时调用
OnStoppedEditing
?你是要按“提交”按钮,还是在你输入最后一封信后再等几秒钟?在按下“保存”按钮之前,我不会进行验证,因此我的代码看起来有点不同(我只使用了onClick
),此外,我还向输入字段添加了一个红色轮廓,并在下次按下“保存”按钮时再次禁用它(如果一切正常)。单击字段外时,会立即调用OnStoppedEdit。如果您只想显示该框,可以使用errorWindow.SetActive(true);errorText.text=“此字段不能为空”代码>只是为了澄清,之所以调用OnStoppedEditing,是因为myField.onededit.AddListener(委托{OnStoppedEditing(myField);})代码>好的,谢谢你的澄清。我的结论是:点击“保存”调用验证方法。如果输入了密码但未输入用户名,则会在InputField周围添加一个红色轮廓(userOutline=InputUser.AddComponent();userOutline.effectColor=Color.red;userOutline.effectDistance=new Vector2(3,-3);
),并显示“保存”按钮旁边的文本(已启用)。下一次单击“保存”再次检查所有内容,如果一切正常,则禁用大纲和文本。