Як дізнатися, чи входить гравець?


11

Мені було цікаво, чи є якийсь спосіб дізнатися, чи "гравець" увійшов чи ні?

Щось на зразок цього:

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

Так що контролер підключений і ним можна користуватися, але гравець не ввійшов до облікового запису. Щось на зразок здогадки.

Відповіді:


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
    }
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.