Ich habe ein 2D-Spiel, in dem es einen originalen Feindninja gibt.
Ich habe ein Laich-Skript erstellt, um meinen ursprünglichen Ninja zu klonen. Ich platzierte es dann auf meiner Hauptkamera, um meinen Ninja-Klon in der Hauptkameraansicht erscheinen zu lassen. Mein ursprünglicher Ninja hat auch ein Skript, das nach ein paar Sekunden gelöscht wird.
Ich merke, dass das Löschen meines ursprünglichen Ninja dazu führt, dass mein Klon Ninjas nicht erscheint, aber ich möchte alle geklonten Objekte löschen, damit ich mein Projekt nicht überlaufen lasse.
Gibt es einen Weg, wo ich den Spawn-Klon Ninjas löschen kann, ohne den ursprünglichen Ninja zu berühren. Oder meinen ursprünglichen Ninja im Inspektor verstecken, ohne die Spawnklone zu verstecken.
Hier ist mein zerstören ninja Code:Unity3D: Spawnobjekte löschen
private IEnumerator Killninja() {
yield return new WaitForSeconds (4f);
Destroy (gameObject);
}
void Update() {
StartCoroutine (Killninja());
}
Muss der Hauptninja tatsächlich im Spiel sein oder könnte er nur ein Fertigteil sein? Ansonsten könnten Sie z.B. Fügen Sie ein öffentliches Bool in das Skript ein, wie 'public bool isClone = true;', setzen Sie es im Inspektor auf Original und check in update 'if (isClone) {StartCoroutine ...}' –
Außerdem sollten Sie einen Status bool einschließen um Ihre 'StartCoroutine' herum, so dass es nur einmal startet. Momentan startet es jeden Frame. Es wird immer noch mit dem ersten zerstört, aber Sie wollen nur einen. –