有没有办法在C#中禁用特定键?

Ric*_*ich 0 c# xna function

我试图这样做,以便当我的角色跳跃时,跳跃键被禁用,直到他的jumpHeight == 0(他又回到了地板上).C#中有一个简单的功能可以做到这一点吗?例如:

if (jumpHeight > 0)
{
   keys.space == disabled
}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

小智 5

您的方法意味着更无意义的工作,并且无论如何都不允许您禁用实际输入.相反,如果满足条件,您应该选择不对特定键的状态执行任何检查.

public void Update(GameTime gt)
{
    if (canCheckSpace)
    {
         if (spaceIsPressed())
         {
              doThings();
         }
    }
    if (jumpHeight > 0)
    {
        canCheckSpace = false;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您希望"禁用"所有脚本检查它的密钥,请考虑将输入包装到您自己的管理器中,这将检查这些条件并相应地对任何调用其公共方法的脚本采取相应措施.