Задать вопрос
@LYTK4

Как сделать, чтобы хп отнималось с некоторой задержкой?

Вот мой код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class HealthSystem : MonoBehaviour
{
	public int hp;
  	public Image[] lives;
  	public Sprite fullLive;
	public float transitionTime = 3f;
  	public Sprite emptyLive;
	private Enemy ensc;
  	public int numberOfLives;
		public GameObject dmg;
    public GameObject vs;
    Animator anim;

    void Start(){
      vs.SetActive(false);
	  ensc = GetComponent<Enemy>();
    }

    void Update()
    {
    	if (hp > numberOfLives)
    	{
    		hp = numberOfLives;
    	}

       for (int i = 0; i < lives.Length; i++){
       	if (i < hp){
       		lives[i].sprite = fullLive;
       	} else {
       		lives[i].sprite = emptyLive;
       	}
       	if (i < numberOfLives){
       		lives[i].enabled = true;
       	} else {
       		lives[i].enabled = false;
       	}

		if (hp == 0) {
			SceneManager.LoadScene("Menu");
		}
       }

    }
    void OnTriggerStay2D(Collider2D col){
    	if (col.CompareTag("EnemyDefolt")){
			StartCoroutine(ToWait());
			hp = hp - 1;
    	}

	IEnumerator ToWait()
	{
		yield return new WaitForSeconds(10f);
	} 
 
    }
}
Хп отнимается очень быстро, менее чем за секнду, а нужно чтобы после отнятия одного хп была задержка и снова наносился урон.
  • Вопрос задан
  • 327 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Сделайте параметр задержка, при отнятии взводите его, при повторе смотрите разницу
Ответ написан
Комментировать
SagePtr
@SagePtr
Еда - это святое
Можно как в аркадных играх, при получении урона делать персонажа неуязвимым на несколько секунд
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы