Функция не работает каждый раз - PullRequest
0 голосов
/ 19 ноября 2018

Я учусь, создавая простую игру, что-то вроде космических захватчиков. И проблема, которая у меня есть, иногда выполняется скрипт, а иногда нет. Позвольте мне показать вам код:

Сначала мой игрок стреляет из пистолета, он создает префаб пули.

выстрелить из пистолета:

void Update() { 
    if (Input.GetMouseButtonDown(0)) { 
        Instantiate(rocket, strzal.position, strzal.rotation); 
    } 
}

Скрипт пули:

private void OnTriggerEnter2D(Collider2D collision) { 
   if (collision.gameObject.tag== "Przeszkoda"){ 
       collision.GetComponent().TakeDamage(damage); 
       Destroy(gameObject); 
   } 
}

Тогда, если пуля попадает в цель, она вызывает функцию урона:

public void TakeDamage(float amount) { 
   health -= amount; 
   if (health <= 0) { 
       ABC.GetComponent<DEF>().NowyPoziomTrudnosci(); 
       gameObject.SetActive(false);

И пока все работает просто отлично. Но проблема начинается с функции NowyPoziomTrudnosci. Иногда он бежит, тогда 3 врага убиваются, и ничего не происходит, и 2 следующих врага запускают код, и снова x врагов умирают, а код не выполняется.

public void NowyPoziomTrudnosci() { 
    kills = kills + 1; 
    Debug.Log("wykonane"+ kills); 
}

Есть идеи, где я допустил ошибку? Я бы понял, если бы NowyPoziomTrudnosci вообще не побежал. Но он работает, просто не каждый раз.

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