我想知道是否有任何方法可以知道“玩家”是否已登录?
这样的事情:
if (GamePad.GetState(PlayerIndex.Two).IsConnected && !Gamer.PlayerTwo.IsSignedIn)
编辑:
通过这种方式连接控制器(播放器可以使用控制器),但它没有登录任何帐户,就像猜测一样。
答案 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
}
}