Добавление имен для игроков Unity и Photon

#unity3d #photon

Вопрос:

Я использую unity с photon, и у меня возникли проблемы с созданием разных имен для каждого игрока, который присоединяется к комнате. Что я хочу сделать, так это то, что когда игрок присоединяется к лобби, я хочу, чтобы он взял такое имя, как

 NewPlayer.gameobject.name = "Player "   the number of players that were in when he joined
 

. Если вам нужна дополнительная информация, пожалуйста, ответьте на этот пост, и я сообщу вам ваш вопрос. Спасибо
Я хочу, чтобы первого игрока, который вошел в комнату, звали «Игрок 1», второго «Игрок 2» и так далее. Я использую фотон.

Ответ №1:

Вы можете использовать PhotonNetwork.NickName синхронизацию между всеми клиентами в комнате. Чем использовать PhotonView компоненты, прикрепленные к вашим плеерам, которые вы используете, получите Nickname как:

 var photonView = GetComponent<PhotonView>();
photonView.Owner.NickName;
 

Или на основе вашего ввода вы можете использовать:

 Player.ActorNumber
 

который принадлежит id игроку в текущей комнате.

Комментарии:

1. Здравствуйте, большое спасибо за ответ! Я уже пробовал это, но одна проблема, к которой я пришел, заключается в том, что в одном случае игры будет показано, что я игрок 1, но во втором случае по какой-то причине будет показано, что я игрок 2. Спасибо за чтение, если у вас есть какие-либо вопросы, пожалуйста, задайте их мне!

2. Как вы настроили Прозвища?

3. У меня есть менеджер игр, и в void OnPlayerEnteredRoom(новый игрок игрока) я добавил newPlayer.nickname = "Player " PhotonNetwork.PlayerList.Length;

4. Вы пробовали использовать: Player.ActorNumber ?

5. Нет, я этого не делал. Я попробую это и попытаюсь узнать, что это делает