按住按钮时使对象移动一次



我正在尝试获得一个在按下方向上移动 100px 的立方体。但是,如果按住该键,它仍然只会移动一次,直到该键被释放并再次按下。

         if (Keyboard.GetState().IsKeyDown(Keys.Right))
        {
            mx += 100;
        }

您可以使用 flag 来实现此目的。

在某处定义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增加一次。要再次增加它,必须释放按钮。

最新更新