Мне нужна помощь в игре, которую я создаю. Я строю игру с движком Unity и довольно новичок в кодировании C#. Я создаю игру 2d, в которой игрок контролирует цвет квадрата и должен изменить его на правильный цвет, как при прохождении определенного цветного объекта. Игрок сильно меняет цвета, и объекты являются триггерами. Когда игрок передает триггер, если его цвет не соответствует правильному цвету игрока. Хорошо, что работает отлично, но только для первого объекта следующий, независимо от цвета игрока, который умирает. Я пробовал if in in if if, и если я не могу это понять. Ваша помощь будет принята с благодарностью!Триггер не отвечает, как я хочу в единстве 3d
Вот код для игрока
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;
}
}