c# - 按住按钮使对象移动一次
问题描述
我试图让一个立方体在它被按下的方向上移动 100px。但是如果按键被按住,它仍然只会移动一次,直到按键被释放并再次按下。
if (Keyboard.GetState().IsKeyDown(Keys.Right))
{
mx += 100;
}
解决方案
您可以使用标志来实现这一点。
在某处定义bool flag
(我不知道您是否可以使用局部变量并应该使用字段,这取决于您的主循环的外观)然后:
if (Keyboard.GetState().IsKeyDown(Keys.Right))
{
if(!flag)
{
mx += 100;
flag = true; // set when changing value
}
}
else
flag = false; // reset when button is not down
这将增加mx
一次。要再次增加它,必须释放按钮。
推荐阅读
- linux - 在远程 SSH 上,Shell 脚本循环不起作用
- angular - 根据用户是否使用 Angular 登录来呈现不同内容的最佳方法是什么?
- codeigniter - 如何在 CodeIgniter 4 中使用子目录控制器?
- javascript - 每次鼠标悬停时重复鼠标悬停旋转
- regex - 正则表达式验证路由器参数不起作用
- slurm - 理解 sacct 的 maxRSS——为什么一个工作有两行?
- c# - mono 不能 100% 正确移植 macOS 可可
- php - Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 此路由不支持 GET 方法。支持的方法:POST
- c++ - 在 operator= 中使用 std::function 的问题
- amazon-web-services - 从另一个 AWS 账户调用 PRIVATE API Gateway 超时