Top.Mail.Ru
Ответы

Ошибка CS106, ПОМОГИТЕ!!!!!!!!!!!!!!!!!

'Enemy' does not contain a definition for 'TakeDamage' and no accesible extension method 'TakeDamage' accepting a first argument of type 'Enemy' could be found
Вот код:

1234567891011
         RaycastHit2D hitInfo = Physics2D.Raycast(transform.position, transform.up, distance, whatIsSolid); 
        if (hitInfo.collider != null) 
        { 
            if (hitInfo.collider.CompareTag("Enemy")) 
            { 
                hitInfo.collider.GetComponent<Enemy>().TakeDamage(damage); 
            } 
            DestroyBullet(); 
        } 
 
        transform.Translate(Vector2.up * speed * Time.deltaTime); 
Дополнен

ошибка 1061*

Дополнен

исправлено

По дате
По рейтингу
Аватар пользователя
Оракул

Я подозреваю, конечно, фактические данные 'TakeDamage'. В остальном, на мой взгляд, все выглядит хорошо. Посмотрите на эту скрипку, где работает аналогичная схема. Вы можете попробовать указать набор символов.

Аватар пользователя
Знаток

Проверить, что в коде есть директива using или ссылка на сборку. Возможно, что-то из этого отсутствует. 13
Изменить название метода. Вместо «CompageTag» использовать «CompareTag». 3
Проверить, что к созданному мобу привязан тег «Enemy». Для этого можно использовать, например, такой код: if (hitInfo.collider.gameObject.tag == "Enemy") { hitInfo.collider.GetComponent<Enemy>().TakeDamage(damage); }. 3

Аватар пользователя
Ученик

спасибо, а куда это вписать?

Аватар пользователя
Ученик

Че



Видео по теме