0

我想知道是否有任何方法可以知道“玩家”是否已登录?

像这样的东西:

if (GamePad.GetState(PlayerIndex.Two).IsConnected && !Gamer.PlayerTwo.IsSignedIn)

编辑:

这样控制器就连接好了(玩家可以使用控制器),但它没有登录任何帐户,有点像猜测。

4

1 回答 1

1

我正在回答这个以将其标记为已回答,但请不要投票给我,因为我没有回答,请访问:https ://gamedev.stackexchange.com/questions/58616/how-to-know- if-the-player-is-signed-in/58618?noredirect=1#58618并投票给 ToddersLegrande 回答。

在 XNA 中有一个SignedInGamer类,它的SignedInGamer.PlayerIndex成员应该会告诉您是否可以获取该SignedInGamer对象。

为此,有一个Gamer.SignedInGamers静态属性,其中包含SignedInGamer基于系统当前状态的对象集合。这是来自Microsoft.Xna.Framework.GamerServices命名空间。

有了这些信息,您可以执行以下操作:

//If player 2 is connected
if (GamePad.GetState(PlayerIndex.Two).IsConnected)
{
    //If we can't find a signed in gamer with a PlayerIndex of two
    if (!Gamer.SignedInGamers.Cast<SignedInGamer>().Any(x => x.PlayerIndex == PlayerIndex.Two))
    {
        //Your handling code here
    }
}
于 2013-07-05T05:23:28.513 回答