Не удается неявно преобразовать тип UnityEngine.Collider2D в SmallEnemy - PullRequest
0 голосов
/ 10 апреля 2020

Не могу обернуться вокруг этой простой синтаксической ошибки. Я новичок в единстве и кодировании.

private void OnCollisionEnter2D(Collider2D hitInfo)
{
    SmallEnemy smallEnemy = hitInfo.GetComponent<Collider2D>();    
    if(smallEnemy != null)
    {
        smallEnemy.DamageEnemy(damage);
    }

1 Ответ

0 голосов
/ 10 апреля 2020

Пара мелких вещей.

  1. OnCollisionEnter2D использует Collision2D, а не collider2d. Collision2D позволяет получить доступ к входящему gameObject в самой структуре.
  2. Функция GetComponent возвращает компонент типа X, поэтому, если вы хотите получить компонент SmallEnemy, вы хотите использовать его в качестве типа GetComponent ()
private void OnCollisionEnter2D(Collision2D collision)
    {
        SmallEnemy smallEnemy = collision.gameObject.GetComponent<SmallEnemy>();
        if (smallEnemy != null)
        {
            smallEnemy.DamageEnemy(damage);
        }
    }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...