在统一多人游戏中,玩家预制件在场景加载后生成,声明所需脚本并避免 NullReferenceException 错误的最佳方法是什么?
问问题
297 次
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 回答