OnCollisionEnter2D не работает, и я не знаю, почему

Вопрос: Я новичок в Unity и С#, и я пытаюсь убрать основы, но у меня, похоже, возникают проблемы с столкновением. Я хочу, чтобы падающий объект разрушался, когда он сталкивался с другим неподвижным объектом. Все объекты установлены в Box Collider 2D в Unity, и после нескольких часов поиска я не могу понять, что с ним не

Вопрос:

Я новичок в 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 переставал падать или что-то еще

Оцените статью
Добавить комментарий