按住按钮使对象移动一次

Making object move once on button hold

我试图让一个立方体在它被按下的方向上移动 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 一次。要再次增加它,必须释放按钮。