我在Unity中做游戏,我想在某个屏幕上实例化网络管理器,所以我使用了网络管理器的预制件,我的代码如下:-
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 并创建播放器。 喜欢这张图片
但是当我将项目部署到 Windows 应用程序或 Android 应用程序时,它不会显示 ip 或创建播放器。 喜欢这张图片