我正在开发一款应用,它是一款在Unity中使用Google Play游戏资产的简单实时多人游戏。
这是1比1的比赛。
我想访问对手的用户名。
所以我可以在游戏开始时显示它(在随机匹配之后,或者创建与邀请匹配)。
我可以使用以下方式访问当前播放器用户名:
string PlayerUserName = PlayGamesPlatform.Instance.RealTime.GetSelf().DisplayName;
我试过了:
string PlayerUserName = PlayGamesPlatform.Instance.RealTime.GetSelf().ParticipantId;
它会返回大量的随机字符,我认为它是自己的玩家ID。
有可能吗?
答案 0 :(得分:0)
您可以参考此thread,其中指出如果您使用Google Play Games plugin for Unity plugin,则可以通过Unity social interface访问Google Play游戏API。您可以使用Social.LoadUsers()
加载播放器配置文件。请记住,播放器配置文件的内容受制于播放器的隐私设置。然后使用user.userName
根据userID
获取用户名。
答案 1 :(得分:0)
重播太晚了。但它可能会帮助别人......
string current_player_id = PlayGamesPlatform.Instance.RealTime.GetSelf ().ParticipantId;
Participant p = PlayGamesPlatform.Instance.RealTime.GetParticipant (current_player_id);
List participants = PlayGamesPlatform.Instance.RealTime.GetConnectedParticipants();
string player1_id = participants [0].ParticipantId;
Participant p1 = PlayGamesPlatform.Instance.RealTime.GetParticipant (player1_id);
string player2_id = participants [1].ParticipantId;
Participant p1 = PlayGamesPlatform.Instance.RealTime.GetParticipant (player2_id);
if (p1.ParticipantId== p.ParticipantId) {
opponentname.text = p2.DisplayName;
} else if (p2.ParticipantId== p.ParticipantId)
{
PlayerName.text = p1.DisplayName;
}