Вопрос:
Я новичок в Unity и С#, и я пытаюсь убрать основы, но у меня, похоже, возникают проблемы с столкновением. Я хочу, чтобы падающий объект разрушался, когда он сталкивался с другим неподвижным объектом. Все объекты установлены в Box Collider 2D в Unity, и после нескольких часов поиска я не могу понять, что с ним не так. Любая помощь приветствуется!
using UnityEngine;
используя System.Collections;
открытый класс Destroy: MonoBehaviour {
// Use this for initialization void Start () { transform.position = new Vector2 (0, -10); Debug.Log («Game Start»); } // Update is called once per frame void Update () { } void OnCollisionEnter2D(Collision2D col) { if (col.gameObject.tag == «Target») //|| (col.gameObject.tag == «fallingCube2»)) { Debug.Log («There has been a collision!»); Destroy (col.gameObject); } else if (col.gameObject.tag == «otherTarget») { Debug.Log («There has been a collision!»); Destroy (col.gameObject); }
}}
Ответ №1
Убедитесь, что тег одинаков (соблюдение заглавных букв) и используйте col.tag == “Target”.
GameObject должен иметь и BoxCollider2D или другой Collider2D с свойством isTrigger в false.
Я всегда использую OnTriggerEnter2D (Collider2D col), потому что я не хочу, чтобы мой pj переставал падать или что-то еще