如何知道播放器是否已登录?


11

我想知道是否有办法知道“玩家”是否已登录?

像这样:

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

这样就可以连接控制器并可以使用它,但播放器未登录到帐户。有点像猜测。

Answers:


11

在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
    }
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.