我想使用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;
}
}
答案 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
}