在我的2D游戏中,我有一个金币和铜币的概念如下:
当正常的敌人死亡时......他们随机丢下一枚金币或铜币。现在 当玩家选择它时,硬币值会被添加到PlayerPrefs
文件,也显示在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的条件。脚本变为真实,老板在游戏中不产生!
现在如何解决这个问题?
答案 0 :(得分:2)
这是因为您永远不会将bossSpawned
重置为false
,以便生成新的老板。您可以添加方法
public void Reset() {
bossSpawned = false;
}
并在老板去世时打电话给你。