XNA C#控制器输入结构

时间:2011-05-27 21:16:08

标签: c# xna xbox360

我在网上看了一遍,需要一些帮助。是否有一个链接到Xbox 360控制器的所有按钮的示例代码。例如:

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

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

我只需要操纵杆,d-pad和所有按钮的状态示例。

2 个答案:

答案 0 :(得分:6)

你签出了MSDN XNA input documentation吗?它没有真正的例子,但看起来你已经知道你对输入做了什么。

那里的文章都有关于输入的所有信息。

您可以通过GamePad.GetState(PlayerIndex.One).Buttons

获取

All the controller buttons

The joystick您可以通过GamePad.GetState(PlayerIndex.One).Thumbsticks

了解

And the D-Pad您可以通过GamePad.GetState(PlayerIndex.One).DPad

了解

答案 1 :(得分:1)

另外,为按钮编写包装器是个好主意。

我的意思是:写一个检查每个按钮的类,并保持按钮状态为此框架和向下框架的最后一帧,然后它可以报告按钮被按下。

这使您无需检查每个帧并在客户端代码中维护状态。从IGameComponent派生您的类,并在运行时将它添加到Game类的组件集合中。