@UnityMakar

Почему не реагирует OnTriggerEnter2D в Unity?

Помогите пожалуйста!
Я делаю 2D игру про космический корабль там есть камни которые должен уничтожать корабль. Почему то камень не реагирует на пули и барьер(у них таг "Destory"). Вот код камня:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Control_Stoun : MonoBehaviour {

    void Update () {
		transform.position = new Vector2(transform.position.x, transform.position.y + -1 * 2 * Time.deltaTime);
		transform.Rotate(transform.rotation.x, transform.rotation.y, transform.rotation.z + -1 * 40 * Time.deltaTime);
	}

	private void OnTriggerEnter2D(Collider2D collision)
	{
		Debug.Log("1");
		if (collision.tag == "Destory"){
			Destroy(gameObject);
		}
	}
}

Вот компоненты камня:
5c3b2ec53a65d286596794.png
  • Вопрос задан
  • 3430 просмотров
Решения вопроса 1
@p4p
1. У триггера должен стоять флаг is trigger
2. Для сравнения тега есть функция collision.compairTag. Это быстрее и не засоряет память.
3. Один из объектов кажется должен быть rigidbody

Да и лучше чем проверять теги, настроить взаимодействие физики по слоям.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы