c# - unity 按键 不断变化
问题描述
我正在尝试使用 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 并在我的调试日志中看到一些东西。当你第一次按下那个按钮时,我怎么能做到,然后即使你按下回车,也没有任何反应?
解决方案
为什么不使用 bool 标志来检测玩家是否按下按钮并且仅在后端返回 true 后更改其值?
就像是:
private bool tryingLogin; //property in the script
void Update(){
if (Input.GetKeyDown (KeyCode.Return) && !tryingLogin) {
tryingLogin = true;
OnPressConfirmUser ();
}
}
然后,当您的后端返回 true/false 时,您可以再次将 tryLogin 设置为 false。您还可以有一个对象来管理登录,因此您不必每次都调用该函数。
推荐阅读
- php - 在 SQL 中移动记录
- java - Spring 4.3.15更新后如何注入SchedulerFactoryBean
- python - SQLite 优化(Python):查找重复条目,然后将引用的值合并到具有代表性的唯一条目?
- git-submodules - catkin / ROS:如何在使用子模块时正确指定包含路径
- r - 函数式编程,子框架内循环的迭代
- excel - 保留工作表宏以链接具有工作表名称更改的单元格
- reactjs - 使用 Styled Components 如何仅将样式应用于小型设备?
- python - 平滑而不用零填充缺失值
- python - 当每个观察是一个看起来像列表的字符串时,计算列表中的项目
- python - 聚合熊猫后保留自定义日期索引/列?