我需要关于我正在创建的游戏的帮助。我正在使用 Unity 引擎构建游戏,并且对 C# 编码非常陌生。我正在创建一个 2d 游戏,其中玩家控制正方形的颜色,并且当它通过某个颜色的对象时必须将其更改为正确的颜色。玩家改变颜色很大,物体是触发器。当玩家通过触发器时,如果它的颜色不正确,则玩家死亡。好吧,这很完美,但仅适用于第一个对象,无论对象死亡的玩家颜色如何,下一个对象都是如此。我已经尝试过 if 语句中的 if 和 else if 我似乎无法弄清楚。您的帮助将不胜感激!
这是播放器的代码
void OnTriggerEnter (Collider other)
{
if (other.transform.tag == "Blue") {
blue = true;
}
else {
blue=false;
}
if (other.transform.tag == "Red") {
red = true;
}
else {
red =false;
}
if (other.transform.tag == "Blue" && GameObject.Find ("Blue").GetComponent<Blue> ().mb == false) {
yield return 0;
Die ();
} else if (other.transform.tag == "Red" && GameObject.Find ("Red").GetComponent<Red> ().mr == false) {
Die ();
}
}
这是每个不同颜色对象的代码。这个恰好是蓝色的。
void Update () {
if (GameObject.Find ("Player").GetComponent<Movement> ().blue == true && GameObject.Find ("Player").GetComponent<Movement> ().playerBlue == true) {
mb = true;
} else {
mb = false;
}
if (!GameObject.Find("Player").GetComponent<Movement>().blue) {
mb = false;
}
}