3

我已经浏览了整个网络,需要一些帮助。是否有链接指向 Xbox 360 控制器的所有按钮的示例代码。例如:

if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
    this.Exit();

我知道如果您按回控制器,这将退出游戏。

我只需要操纵杆、方向键和所有按钮的状态示例。

4

2 回答 2

6

您是否查看过MSDN XNA 输入文档?它并没有真正的例子,但看起来你知道你对输入做了什么。

那里的文章包含有关输入的所有信息。

您可以通过的所有控制器按钮GamePad.GetState(PlayerIndex.One).Buttons

您可以通过的操纵杆GamePad.GetState(PlayerIndex.One).Thumbsticks

还有你可以通过的方向键GamePad.GetState(PlayerIndex.One).DPad

于 2011-05-27T21:31:38.797 回答
1

此外,为按钮编写一个包装器是一个非常好的主意。

我的意思是:编写一个类来检查每个按钮并保持按钮在本帧为 UP 和最后一帧为 DOWN 的状态,然后它可以报告按钮被按下。

这使您不必检查每一帧并维护客户端代码中的状态。从 IGameComponent 派生您的类,并在运行时将其添加到您的游戏类的组件集合中。

于 2011-05-27T21:34:36.930 回答