【问题标题】:Event Handler for XBOX Controller in C#?C# 中 XBOX 控制器的事件处理程序?
【发布时间】:2014-04-12 16:40:03
【问题描述】:

如果按下“A”按钮,我想使用 XBOX 360 控制器播放声音。在我的代码片段中,我使用了一个 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;

    }
}

【问题讨论】:

    标签: c# controller xna xbox gamepad


    【解决方案1】:

    您的更新循环以每秒 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
    }
    

    【讨论】:

      猜你喜欢
      • 2010-11-20
      • 2010-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多