UNITY C# GetComponent Returns Null
本文关键字:Null Returns GetComponent UNITY | 更新日期: 2023-09-27 17:56:55
我最近决定研究使用 C# 在 Unity 中进行编程。我遇到了这个令人讨厌的问题,我不知道如何解决它。几乎当我调用"instanceGo.GetComponent"时,它返回空值。我不知道该怎么办。任何想法都会有所帮助!
法典
// Update is called once per frame
void Update () {
if (Input.GetKey ("p")) {
printMessage = !printMessage;
}
if (instanceGo.GetComponent<SpawnZombiesHandler>() == null) {
print ("1");
} else {
print ("2");
}
foreach(GameObject bullet in instanceGo.GetComponent<ArcherBulletShootHandler>().getBullets()){
print ("12");
foreach (GameObject zombie in instanceGo.GetComponent<SpawnZombiesHandler>().getZombies()) {
hit (bullet, zombie);
if(Mathf.RoundToInt(zombie.transform.position.y) == Mathf.RoundToInt(bullet.transform.position.y) &&
Mathf.RoundToInt(zombie.transform.position.x) == Mathf.RoundToInt(bullet.transform.position.x)) {
print("HIT!");
}
}
}
}
注意它确实打印"1"。告诉我您是否需要查看更多代码。
谢谢。
检查是否有一个名为 SpawnZombiesHandler 的组件附加到 instanceGo,并且您在正确的位置获得了大写字母。
确保 instanceGo 实际上已经附加了你想要的组件。