寻找其他网络播放器 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);
}
我在获取其他网络播放器时遇到问题 我想这样存储。
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);
}