如何知道玩家是否已登录?

时间:2013-07-04 23:32:46

标签: c# xna xna-4.0 xbox360

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

这样的事情:

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

编辑:

通过这种方式连接控制器(播放器可以使用控制器),但它没有登录任何帐户,就像猜测一样。

1 个答案:

答案 0 :(得分: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
    }
}