代码之家  ›  专栏  ›  技术社区  ›  Aqib Nawaz

查找其他网络播放器unity unet

  •  0
  • Aqib Nawaz  · 技术社区  · 8 年前

    我找不到其他网络播放器 我想这样储存。

    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];
            }
        }
    }
    

    在服务器上,我只找到了我的玩家,在其他玩家中,我找到了两个,但都不正确 提前谢谢你的帮助

    1 回复  |  直到 8 年前
        1
  •  3
  •   Programmer    8 年前

    问题的标题和代码假设Unity游戏中只有两个玩家。游戏中最多可以有10名玩家,你也应该处理他们。你需要从 PlayerController 可以使用 NetworkManager.client.connection.playerControllers . 你还必须检查 IsValid 确保 播放控制器

    以下是如何找到网络上的所有玩家:

    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);
    }