OnTriggerEnter2D не работает - PullRequest
0 голосов
/ 19 мая 2018

Я пытаюсь уничтожить врага, если он столкнется с пулей.Но OnTriggerEnter2D не работает.Я пытался решить эту проблему и часами искал ответы, но, похоже, не смог найти проблему.

Вражеский сценарий

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class EnemyManager : MonoBehaviour
{
    [SerializeField]
    private Transform target;
    [SerializeField]
    private float speed;


    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        transform.position = Vector2.MoveTowards(transform.position, target.position, speed * Time.deltaTime);
    }

    void OnTriggerEnter2D(Collider2D collision)
    {
        Debug.Log("Colliding with trigger");
        if (collision.CompareTag("bullet"))
        {
            Debug.Log("I got hit");
            Destroy(gameObject);
        }
    }
}

Пуля

bullet prefab inspector bullet prefab inspector

Враг

enemy inspector enemy inspector

Ответы [ 2 ]

0 голосов
/ 19 мая 2018

Попробуйте переключить isTrigger на коллайдер вместо пули.

Также обратитесь к этой документации о том, как создать 2d коллайдер: как уничтожить объект после столкновения

0 голосов
/ 19 мая 2018

Если это фактический объект, который сталкивается с другим, вы хотите использовать OnCollisionEnter2D.Триггеры предназначены для объектов, с которыми невозможно столкнуться, и вы просто хотите знать, перекрываются ли они.

...