【发布时间】:2018-04-20 13:29:24
【问题描述】:
我在Unity做游戏,想在某个画面实例化网络管理器,所以我用了一个网络管理器的prefab,我的代码如下:-
void Start()
{
Transform cloneNetworkManager = Instantiate(networkManager, new Vector3(0, 0, 0), Quaternion.identity);
NetworkManagerScript networkManagerScript = cloneNetworkManager.GetComponent<NetworkManagerScript>();
networkManagerScript.OnButtonHost();
ip = Network.player.ipAddress;
}
网络管理器的代码如下:-
public class NetworkManagerScript : NetworkManager {
public GameObject player;
public void OnButtonHost()
{
networkPort = 10101;
playerPrefab = player;
StartHost();
}
public void OnButtonClient()
{
JoinMultiplayerScreenScript joinMultiplayerScreenScript = FindObjectOfType<JoinMultiplayerScreenScript>();
networkAddress = joinMultiplayerScreenScript.ip.text;
networkPort = 10101;
playerPrefab = player;
StartClient();
}
}
现在的问题是,当我在 Unity 编辑器中运行项目时,它会正确运行、显示 ip 并创建播放器。 like this image
但是当我将项目部署到 Windows 应用程序或 Android 应用程序时,它不会显示 ip 或创建播放器。 like this image
【问题讨论】: