寻找其他网络播放器 unity unet

Finding other network player unity unet

我在获取其他网络播放器时遇到问题 我想这样存储。

void Start ()
{
    GameObject[] players = GameObject.FindGameObjectsWithTag ("Player");
    for (int i = 0; i < players.Length; i++) {
        if (players [i].GetComponent <NetworkIdentity> ().isLocalPlayer) {
            minePlayer = players [i];
        }
        if (!players [i].GetComponent <NetworkIdentity> ().isLocalPlayer) {
            oppenentPlayer = players [i];
        }
    }
}

在服务器中我只找到我的播放器,在其他播放器中我找到了两个但不正确 预先感谢您的帮助

您的问题标题和代码假定 Unity 游戏中只有两名玩家。游戏中最多可以有 10 名玩家,您也应该处理好他们。您需要找到来自 PlayerController 的球员,这可以通过 NetworkManager.client.connection.playerControllers 检索。您还必须检查 IsValid 以确保 PlayerController 有附加到它的播放器。

以下是您可以找到网络上所有玩家的方法:

NetworkManager networkManager = NetworkManager.singleton;

List<PlayerController> pc = networkManager.client.connection.playerControllers;

for (int i = 0; i < pc.Count; i++)
{

    if (pc[i].IsValid)
        Debug.Log(pc[i].gameObject.name);
}