C#中XBOX控制器的事件处理程序?

时间:2014-04-12 16:40:03

标签: c# controller xna xbox gamepad

我想使用XBOX 360控制器播放声音,如果" A"按下按钮。在我的代码片段中,我使用了while循环来检查按钮是否被按下。我可以使用任何事件处理程序或不同的解决方案(它不适用于游戏开发)吗?

while (b == false)
{
    GamePadState currentState2 = GamePad.GetState(PlayerIndex.One);
    if (currentState2.IsConnected
         && currentState2.Buttons.A
                == Microsoft.Xna.Framework.Input.ButtonState.Pressed)
    {
         play1stTrack();
         isButtonApressed = true;

    }
}

1 个答案:

答案 0 :(得分:0)

您的更新循环以每秒60帧(通常)运行,您可以使用此时间来检查输入并进行处理。无需为输入编写自己的循环。

示例:

protected override void Update(GameTime gameTime)
{
    GamePadState currentState2 = GamePad.GetState(PlayerIndex.One);
    if (currentState2.IsConnected
         && currentState2.Buttons.A
                == Microsoft.Xna.Framework.Input.ButtonState.Pressed)
    {
         play1stTrack();
         isButtonApressed = true;
    }
    //Handle input with isButtonApressed
}