只有当一个老板死了之后才会产生敌人

时间:2017-01-07 08:05:40

标签: c# unity3d unity5

在我的2D游戏中,我有一个金币和铜币的概念如下:

  当正常的敌人死亡时......他们随机丢下一枚金币或铜币。现在   当玩家选择它时,硬币值会被添加到PlayerPrefs   文件,也显示在UI中,如下所示:

Coins shown in Text ui

现在我已经制作了一个游戏obj boss spawner,它附带了一个脚本,如下所示:

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;
            }
        }


    }
}

所以根据条件..如果它在脚本中是真的,那么2个中的一个boss应该产生......并且它也正常工作。

但是我想要的是当我杀死老板时,coins进程应该继续进行,并且再次条件(那个%2变为真)老板(任何应该产生一个硬币)

但是它只产生了一次然后在那之后我杀死了老板并再次成为硬币aac的条件。脚本变为真实,老板在游戏中不产生

现在如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

这是因为您永远不会将bossSpawned重置为false,以便生成新的老板。您可以添加方法

public void Reset() {
    bossSpawned = false;
}

并在老板去世时打电话给你。