0

在统一多人游戏中,玩家预制件在场景加载后生成,声明所需脚本并避免 NullReferenceException 错误的最佳方法是什么?

4

2 回答 2

0

我自己对多人游戏不是很熟悉,但我相信这可以通过 GameObject.Find("") 和 GetComponent 来完成。我还偶然发现了FindObjectOfType。我不确定这是否是您正在寻找的东西,但发布它并没有什么坏处。祝你好运。

于 2016-08-06T09:29:02.843 回答
0

与其让脚本查找预制件何时产生,为什么不让预制件告诉它产生的脚本呢?

当未指定用例时,很难给出任何类型的示例。

非常基本的示例(并且由于您要将它用于网络,您可能需要重做很多,所以您不要太信任客户端):

class ScriptA : Monobehaviour () {
    List<GameObject> prefabs;

    public void AddPrefab (GameObject Prefab) {
        prefabs.Add (Prefab) 
    }
}

class Prefab : Monobehaviour () {
    void Start () {
        FindObjectOfType(ScriptA).AddPrefab(gameObject);
    }
}

这不是最好的例子,但重点是,您可能需要重新考虑架构

于 2016-08-07T00:24:46.463 回答