Недавно я решил изучить программирование в Unity с помощью C#. Я столкнулся с этой неприятной проблемой, и я понятия не имею, как ее исправить. В значительной степени, когда я называю «instanceGo.GetComponent», он возвращает null. Я понятия не имею, что делать. Любые идеи помогут!UNITY C# GetComponent Возвращает Null
КОД
// 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". Скажите, если вам нужно больше кода.
спасибо.
Обратите внимание, что 'C#' и 'C' - совершенно разные языки. – kaylum
@kaylum Это C# – Nicster15
Я знаю, что это 'C#'. Но у вас первоначально был тег 'C', который кто-то любезно удалил для вас. – kaylum