No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Comportamiento del HUD

31/41
Recursos

Aportes 8

Preguntas 7

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

si por casualidad cuando les aparece un error al colocar SceneManager coloquen en la parte de arriba “using UnityEngine.SceneManagement;”

Para hacer que se paralice el juego a la hora que salga el GameOver se puede utilizar el codigo: Time.timeScale = 0.

    public void ShowGameOverScreen()
    {
        Time.timeScale = 0;
        gameOverScreen.SetActive(true);
        finalScoreText.text = "Score: " + GameManager.sharedInstance.score;
    }

    public void PlayAgain()
    {
        Time.timeScale = 1;
        gameOverScreen.SetActive(false);
        SceneManager.LoadScene("MainScene");
    }

Hola, para quienes usaron Text MeshPro
Agregar using TMPro; al principio del UIManager
Y en la definicoon de variables, en lugar de [SerializeField] Text healthText;
escribir:
[SerializeField] TextMeshProUGUI healthText;
Para poder arrastrar los componentes a UIManager.

Un par de cosas para hacer funcionar el UI que faltaron:

  1. Para que se vea al principio reflejada la salud, y no solo cuando recibo daño, en el Start del player agregue Health = health;
    2)Algo similar con el tiempo.
    En el script GameManager agregamos:
 public int Time//
    {
        get => time;//obtengo el valor almacenado en time
        set
        {
            time = value;//lo que esta en Time pasa a time
            UIManager.Instance.UpdateUITime(time);


        }
    }

En el Start lo inicializo:

private void Start()
    {
        StartCoroutine(CountDownCoroutine());
        Time = time;//lo que agregue
    }

Y en la rutina de tiempo cambiamos las variables time por Time:

IEnumerator CountDownCoroutine()
    {
        while(Time > 0)//Aca
        {
            yield return new WaitForSeconds(1);
            Time--;//Aca
        }
        //Game over 
        gameOver = true;
        UIManager.Instance.ShowGameOverScreen();
    }

Así va quedando el juego, el HUD actualiza correctamente toda la información de la partida, y se despliega el menu de Game Over cuando el tiempo se termina o cuando el player se queda sin puntos de vida.


Genial

¯_(ツ)_/¯

buen video muy interesante