2017-02-13 3 views
0

Also ich habe dieses Skript, das Zombies spawnen muss. Das Zombie-Prefab hat ein Skript mit der öffentlichen Variablen Health. Wie stelle ich diese Gesundheit pro Zombie ein, zum Beispiel, geben Sie jedem Zombie 10 mehr Gesundheit als die vorherige? Diese ist die Spawn-Funktion (C#):Instatiate prefab und setze seine Skriptparameter

void SpawnZombie() 
    { 
     ZombieClone = Instantiate(ZombiePrefab, RandomSpawnPoint(), Quaternion.identity);//Spawns a copy of ZombiePrefab at SpawnPoint 
    } 

Es funktioniert perfekt, aber jetzt muss es Zombies zum Laichen mit einem 'custom' Health Wert. Wie würde ich das tun?

+1

Warum nicht Sie es nach eingestellt? 'ZombieClone.GetComponent (). SetHealth ();' –

Antwort

4

verwenden:

// Spawns a copy of ZombiePrefab at SpawnPoint 
var ZombieClone = Instantiate(ZombiePrefab, RandomSpawnPoint(), Quaternion.identity) as GameObject; 
// Retrieve the script from the GameObject 
ZombieScript zs = ZombieClone.GetComponent<ZombieScript>(); 
// Set the desired value of the script 
zs.Health = 20; 
+0

Wird dies automatisch den letzten gespawnten Zombie nehmen? Weil ich alle 5 Sekunden einen spawn. – RnRoger

+0

Dies wird den Zombie nehmen, der durch den Befehl 'Instantiate' erstellt wurde. –

Verwandte Themen