C# MonoGame(XNA)不会检测到多个控制器(使用PlayerIndex)

C# MonoGame(XNA)不会检测到多个控制器(使用PlayerIndex),c#,controller,xna,monogame,xbox,C#,Controller,Xna,Monogame,Xbox,我一直在尝试让两个控制器在我正在进行的一个单游戏项目中工作,唯一一个似乎有效的控制器是“PlayerIndex.One”。我尝试过切换控制器索引,但它在除“PlayerIndex.One”之外的任何地方都不起作用 这是我的代码,它运行时没有错误,但仍然无法工作 if (Robot.IsConnected) { if (GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.A) || GamePad.G

我一直在尝试让两个控制器在我正在进行的一个单游戏项目中工作,唯一一个似乎有效的控制器是“PlayerIndex.One”。我尝试过切换控制器索引,但它在除“PlayerIndex.One”之外的任何地方都不起作用

这是我的代码,它运行时没有错误,但仍然无法工作

if (Robot.IsConnected)
        {
            if (GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.A) || GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.B) || GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.Y) || GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.X))
            {
                if (GamePad.GetState(PlayerIndex.One).Buttons.Y == ButtonState.Pressed)
                {
                    Robot.SendMessage(driveRobot, straight);

                }
if (Robot2.IsConnected)
        {
            if (GamePad.GetState(PlayerIndex.Two).IsButtonDown(Buttons.A) || GamePad.GetState(PlayerIndex.Two).IsButtonDown(Buttons.B) || GamePad.GetState(PlayerIndex.Two).IsButtonDown(Buttons.Y) || GamePad.GetState(PlayerIndex.Two).IsButtonDown(Buttons.X))
            {
                if (GamePad.GetState(PlayerIndex.Two).Buttons.Y == ButtonState.Pressed)
                {
                    Robot.SendMessage(driveRobot2, straight);

                }

实际上,你第二次也会把信息传递给机器人。这不是机器人吗

当前:

Robot.SendMessage(driveRobot2, straight);
应该是:

Robot2.SendMessage(driveRobot2, straight);

您确定Windows确实可以同时识别这两个控制器吗?因为如果Windows甚至没有检测到第二个控制器,这不是一个单一游戏的问题。检查设备管理器,或者尝试下载一些第三方软件来检测它。