Ich habe vor kurzem beschlossen, die Programmierung in Unity mit C# zu untersuchen. Ich bin auf dieses böse Problem gestoßen und ich habe keine Ahnung, wie ich es beheben kann. Ziemlich viel, wenn ich "instanceGo.GetComponent" aufrufen, gibt es null zurück. Ich habe keine Ahnung, was ich tun soll. Irgendwelche Ideen würden helfen!UNITY C# GetComponent Rückgabe Null
CODE
// 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!");
}
}
}
}
HINWEIS Es druckt "1". Sag mir, wenn du mehr Code sehen musst.
Vielen Dank.
Beachten Sie, dass 'C#' und 'C' völlig verschiedene Sprachen sind. – kaylum
@kaylum Das ist C# – Nicster15
Ich weiß, es ist 'C#'. Aber Sie hatten ursprünglich das "C" -Tag, das jemand für Sie entfernt hat. – kaylum