#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. Нет, я этого не делал. Я попробую это и попытаюсь узнать, что это делает