2017-01-07 1 views
3

In meinem 2d Spiel habe ich ein Konzept von Gold und Kupfer-Münzen wie folgt:Laichen Boss Gegner erst nach, wenn man Chef ist tot

wenn normale Feinde sterben fallen ..Sie eine zufällige Gold oder Kupfermünze. Jetzt wenn Spieler nimmt es die Münzen Wert auf die PlayerPrefs Datei hinzugefügt wird und auch in UI gezeigt wird, wie folgt:

Coins shown in Text ui

jetzt habe ich ein Spiel obj Chef spawner gemacht, die ein Skript angebracht hat es wie folgt:

public class BossSpawner : MonoBehaviour { 
    private int GoldLimitChk,CopperLimitChk; 
    public GameObject[] BossPrefab; 
    public bool bossSpawned; 
    private BossHealthManager boss1; 
    private Boss2HealthManager boss2; 

    // Use this for initialization 
    void Start() { 
     bossSpawned = false; 
     boss1 = FindObjectOfType<BossHealthManager>(); 
     boss2 = FindObjectOfType<Boss2HealthManager>(); 
    } 

    // Update is called once per frame 
    void Update() { 
     GoldLimitChk=PlayerPrefs.GetInt ("CurrentMoney"); 
     CopperLimitChk=PlayerPrefs.GetInt ("CurrentMoneyCopper"); 
     Debug.Log ("Gold:" + GoldLimitChk); 
     Debug.Log ("Copper:" + CopperLimitChk); 
     if (GoldLimitChk % 2 == 0) { 
      if (bossSpawned==false) { 
       Instantiate (BossPrefab [1], transform.position, transform.rotation); 
       bossSpawned = true; 
      } 
     } 

     if (CopperLimitChk % 2 == 0) { 
      if (bossSpawned==false) { 
       Instantiate (BossPrefab [0], transform.position, transform.rotation); 
       bossSpawned = true; 
      } 
     } 


    } 
} 

so gemäß der Bedingung ..wenn ihre wahren in Skript einen Vorsprung von 2 sollte spawn..and es auch in Ordnung funktioniert.

Aber was ich will, ist, dass, wenn ich den Chef des coins Prozess töten sollte weitergehen und wenn wieder Zustand (dh% 2 wird man true) der Chef (eines zu Münzen Acording) sollte laichen

Aber es ist nur für ein Mal laichen und dann danach, wenn ich den Chef und wieder Zustand der Münze aac töte. zu Skript wird wahr, der Chef ist nicht laichen im Spiel!

Jetzt, wie Sie dieses Problem entfernen?

Antwort

2

Das passiert, weil Sie nie bossSpawned auf false zurücksetzen, damit ein neuer Chef erzeugt werden kann. Sie könnten eine Methode hinzufügen

public void Reset() { 
    bossSpawned = false; 
} 

und rufen Sie dies, wenn ein Chef stirbt.

+0

thnx mann! Ich bin so doof .. Ich habe 'BossSpawned' direkt damit beauftragt, solch eine Funktion wie diese früher zu machen, wo der Boss stirbt – utkdub