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

时间:2013-12-01 15:24:40

标签: c# function xna

我试图让它成为当我的角色跳跃时跳跃键被禁用,直到他的jumpHeight == 0(他回到场上)。 C#中有一个简单的功能可以做到这一点吗?例如:

if (jumpHeight > 0)
{
   keys.space == disabled
}

提前致谢。

1 个答案:

答案 0 :(得分:5)

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

public void Update(GameTime gt)
{
    if (canCheckSpace)
    {
         if (spaceIsPressed())
         {
              doThings();
         }
    }
    if (jumpHeight > 0)
    {
        canCheckSpace = false;
    }
}

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