gpt4 book ai didi

c# - 在更新功能期间尝试 setParent 会出错

转载 作者:太空宇宙 更新时间:2023-11-03 21:11:16 25 4
gpt4 key购买 nike

我试图在 Unity 中以设定的时间间隔生成一颗星星。但我想让这些明星成为 parent ,不要让我的检查员感到困惑。

但是当我尝试这样做时,它给出了“NullReferenceExeption:对象引用未设置到对象的实例。”

我以前在其他地方成功使用过这种类型的代码,但不在更新功能中。

我使用的代码如下。感谢您的时间和提前帮助。

更新:

我用过

Debug.Log (obj);
Debug.Log (starParent);

检查游戏对象是否存在。它找到了 starParent 但没有找到 obj。

所以你的问题是它为刚刚实例化的 GameObject 返回 Null。这与更新功能有关吗?

public class StarSpawner : MonoBehaviour {

public Star star;
private float spawnRate = 3f;
public static float time = 0;
private GameObject starParent;

void Start() {
if (!GameObject.Find ("StarParent")) {
new GameObject ("StarParent");
}

starParent = GameObject.Find ("StarParent");
SetNextStarTime();
}

void Update () {
if (Time.timeSinceLevelLoad > time) {
Vector3 spawnPosition = new Vector3 (Random.Range (1f, 9f), 7);
GameObject obj = Instantiate (star, spawnPosition, Quaternion.identity) as GameObject;
obj.transform.SetParent (starParent.transform);
SetNextStar ();
}
}

void SetNextStarTime(){
time = Time.timeSinceLevelLoad + spawnRate + Random.Range(0f, 5f);
}

}

最佳答案

public Star star;

应该是

public GameObject star;

关于c# - 在更新功能期间尝试 setParent 会出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37513507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com