si por casualidad cuando les aparece un error al colocar SceneManager coloquen en la parte de arriba “using UnityEngine.SceneManagement;”
Introducción al curso y proyecto
Qué aprenderás para programar videojuegos 2D con Unity
Introducción a Unity e instalación
Configuración del proyecto y la interfaz de Unity
Importación de assets
Proyecto final
Herramientas para 2D
Instalación de los 2D extras
Uso de tilemaps y palettes
Solución del reto: creación del escenario
Gameplay
Agregando nuestro primer script
Movimiento del jugador
Comportamiento de la cámara
Disparo direccional
Creación de un proyectil
Manejando la cadencia de disparo
Crear un target
Comportamiento de enemigo
Solución del reto: daño a Personaje y Enemigos
GameManager
Controlar las instancias de enemigos
Creación de Spawnpoints de enemigos
Creación de ítems para el jugador
Creación de PowerUps
Usando los PowerUps
Solución del reto: invulnerabilidad temporal del jugador
Registro de puntuación
Delimitar y mejorar el escenario
Interactuando con el escenario
Interfaz de usuario
Comenzando a crear la Interfaz de Usuario (UI)
Pantalla de Game Over
Diagramación del HUD
Comportamiento del HUD
Implementación de arte
Animación del personaje
Solución del reto: animación de los enemigos
Configurar arte de la UI
Agregar VFX: efecto de parpadeo
Agregar VFX: sacudiendo la cámara
Agregar música y SFX
Depuración y últimos toques
Depuración y corrección de detalles
Crear un ejecutable para PC
Conclusión
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 8
Preguntas 7
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:
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
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?