C# 中 XBOX 控制器的事件处理程序?
Posted
技术标签:
【中文标题】C# 中 XBOX 控制器的事件处理程序?【英文标题】:Event Handler for XBOX Controller in C#? 【发布时间】: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;
【问题讨论】:
【参考方案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
【讨论】:
以上是关于C# 中 XBOX 控制器的事件处理程序?的主要内容,如果未能解决你的问题,请参考以下文章
在 C# 中使用弱处理程序引发 PropertyChanged 事件时发生 ExecutionEngineException