Я прикрепил сценарий к префабу, и сценарий выглядит следующим образом:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class destroyer: MonoBehaviour {
Circles circles;
Collider2D collider1;
Collider2D collider2;
private void Start() {
collider1 = gameObject.transform.GetChild(0).GetComponent < Collider2D > ();
collider2 = gameObject.transform.GetChild(1).GetComponent < Collider2D > ();
circles = FindObjectOfType < Circles > ();
}
private void Update() {
if (transform.position.y < 2) {
Destroy(gameObject);
circles.instantiator();
}
}
void OnTriggerStay2D(Collider2D other) {
if (collider1.bounds.Contains(other.bounds.max) && collider1.bounds.Contains(other.bounds.min)) {
print("2");
if (other.bounds.Contains(collider2.bounds.max) && other.bounds.Contains(collider2.bounds.min)) {
print("3");
if (transform.position.y > 3) {
print("4");
Destroy(other.gameObject);
Destroy(gameObject);
circles.instantiator();
}
}
}
}
}
OnTriggerStay2D
вызывается функция, но условие, когда GameObject полностью находится внутри коллайдера 1 и вне коллайдера 2, является никогда не истинно, даже если другой GameObject удовлетворяет условию. Раньше, когда я прикреплял оба коллайдера к префабу, это условие становилось истинным, когда игровой объект удовлетворял условию. Но после смены не работает. Я думаю, что я не обращаюсь к коллайдеру ребенка должным образом или есть другая ошибка. Пожалуйста, помогите мне решить эту проблему.
![enter image description here](https://i.stack.imgur.com/EDZim.png)
This is the pic of gameobject with two children each having circular collider
введите описание изображения здесь
и когда другой игровой объект, имеющий круговой коллайдер, оказывается между обоими круговыми коллайдерами, я хочу выполнить какое-то действие. В конечном итоге это то, чего я хочу достичь.
Изменить: та же функция работает нормально, и я получаю то, что хочу, когда помещаю сборный элемент на сцену и затем запускаю игру. Но он не работает с тем же префабом, который создается после запуска игры.