Моя игра имеет возможность щелкать и создавать объекты и перемещать их с помощью мыши.Когда блоки сталкиваются со стенами, я хочу, чтобы они были разрушены.Я настроил столкновение таким же образом, как и на другие объекты, но оно не регистрируется.Ниже приведен код перемещения и столкновения.
void OnMouseDrag()
{
if (prepPhase == true)
{
Vector2 mousePosition = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
Vector2 objectPosition = Camera.main.ScreenToWorldPoint(mousePosition);
transform.position = objectPosition;
}
}
void OnCollisionEnter2D(Collision2D col)
{
if (col.gameObject.CompareTag("Wall"))
{
Destroy(col.gameObject);
Debug.Log("Collision");
}
}
Каждый раз, когда создается новый блок, он создает клон предыдущего объекта.К каждому клону прилагается этот скрипт.Я также протестировал прикрепление sctipt столкновения к стене, а не к блоку, при этом столкновение обнаруживало тег «Block».Но все же это не разрушает объект.