alon_mix
@alon_mix
1

Как решить проблему с takeDamage?

Проблема заключается в том, что метод GiveDamage работает даже если нет обьекта(Collider2D coll).

void GiveDamage()
    {
 
        HealthWall -= damage ;
     
 
    }
    void OnTriggerStay2D(Collider2D coll)
    {
        if (coll.gameObject.tag == "Enemy")
        {
 
        
        countEnemy++;
        InvokeRepeating("GiveDamage", countEnemy, 1);//название скрипта, +1 к GiveDamage если в триггер вошел коллайдер, время исполнения
            Debug.Log("Invoke");
    }
}
  • Вопрос задан
  • 56 просмотров
Решения вопроса 1
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Ну разумеется работает, вы же его запускаете через InvokeRepeating, вот он и выполняется каждую секунду. Предположу, что вы хотели использовать StartCoroutine, но перепутали метод. Советую почитать документацию и посмотреть туториал.
P. S. Каждый раз, когда вы вызываете метод по строке - где-то умирает котёнок.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы