按住按钮使对象移动一次

时间:2019-02-01 10:05:50

标签: c# monogame

我正在尝试获得一个按其方向移动100px的多维数据集。但是如果按住该键,它仍然只会移动一次,直到释放并再次按下该键为止。

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

        }

1 个答案:

答案 0 :(得分:1)

您可以使用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递增一次。要再次增加它,必须释放按钮。