【问题标题】:Unity Multiplayer Game Player Spawning Not WorkingUnity 多人游戏玩家生成不起作用
【发布时间】:2016-04-10 00:51:34
【问题描述】:

您好,我已经解决这个问题 3 天了,但我无法弄清楚它有什么问题。我收到的错误消息是 “Player(Clone) (UnityEngine.GameObject) 的 SpawnObject,NetworkServer 未激活。没有活动服务器就无法生成对象。” 我知道服务器启动正常,因为当我用客户端连接它然后关闭服务器时,客户端说服务器可能已关闭。这是我到目前为止的代码。 提前致谢

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Networking;
using System.Collections;

public class MENU_CONTROLLER : NetworkBehaviour
{
    public GameObject ipField;
    public GameObject connectButton;
    public GameObject hostButton;
    public GameObject player;

    public Text ip;
    public Text PlayerCount;
    private int playercount = 0;
    void Update() {
    }
    void vanishMenu() {
        ipField.SetActive(false);
        connectButton.SetActive(false);
        hostButton.SetActive(false);
    }

    public void ServerConnect() {
        Network.Connect(ip.text.ToString(), 4444);
        vanishMenu();
        SpawnPlayer();
    }
    public void SpawnPlayer() {
        GameObject p = (GameObject)Instantiate(player, transform.position,transform.rotation);
        NetworkServer.Spawn(p);
    }
    public void ServerStart() {
        Network.InitializeServer(30, 4444, true);
        Network.Connect("localhost", 4444);
        SpawnPlayer();
    }
    void OnPlayerConnected(NetworkPlayer player) {
        playercount++;
        print("PLAYER CONNECTED");
        print(player.ipAddress);
        PlayerCount.text = playercount.ToString();
    }
}

【问题讨论】:

    标签: networking unity3d multiplayer unity3d-unet


    【解决方案1】:

    您必须从“is server”块中调用 NetworkServer.Spawn()。

    if (is Server) {
    //do your thing to spawn
    }
    

    【讨论】:

      猜你喜欢
      • 2019-03-16
      • 2018-04-22
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-09
      • 1970-01-01
      相关资源
      最近更新 更多