我正在尝试使用get键,按Enter键,然后它将用户名和密码发送到后端。我该如何禁止人们按Enter键,或者做一些可以做到这一点的功能,即使用户按Enter键,该功能也不再运行,因为它实际上已经成功了。
public void OnPressConfirmUser()
{
string username = Username.GetComponent<InputField>().text;
string password = Password.GetComponent<InputField>().text;
userRegister.PostUser(username, password);
if (userRegister.Proceed())
{
UserInfoUI.SetActive(false);
}
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Return))
{
OnPressConfirmUser();
}
}
它第一次起作用,它转到另一个没有这两个输入字段的菜单,现在我仍然可以按Enter并在调试日志中看到某些内容。第一次按该按钮,然后按Enter时,我怎么办?
答案 0 :(得分:0)
为什么不使用bool标志检测玩家是否按下了按钮,并且仅在后端返回true后才更改其值?
类似的东西:
private bool tryingLogin; //property in the script
void Update(){
if (Input.GetKeyDown (KeyCode.Return) && !tryingLogin) {
tryingLogin = true;
OnPressConfirmUser ();
}
}
然后,当后端返回true / false时,可以再次将tryingLogin设置为false。 您还可以使用一个对象来管理登录,因此不必每次都调用该函数。