Agregando funcionalidad a la pantalla de game over
Clase 30 de 34 • Curso de Desarrollo de Videojuegos Móviles con Unity
Contenido del curso
- 8

Creando la cuadrícula
08:00 - 9

Ajustando la cámara
13:06 - 10

Sistema de coordenadas para instanciar las piezas
05:16 - 11

Instanciando las piezas en la cuadrícula
13:39 - 12

Moviendo las piezas
07:53 - 13

Intercambiando las piezas de lugar
14:45 - 14

Permitiendo solo ciertos tipos de movimientos
05:38 - 15

Creando las funciones del match 3
16:13 - 16

Usando el match 3 en nuestro juego
10:21 - 17

Eliminando los matches por defecto
12:31 - 18

Colapsando las piezas
17:31 - 19

Match 3 combo
07:47 - 20

Rellenando las piezas
07:36 - 21

Mejorando la animación de las piezas
07:37
- 24

Hablemos de diseño
01:34 - 25

Agregando un sistema de puntos
16:45 - 26

Sistema de tiempo
07:05 - 27

Interfaz para el sistema de tiempo
09:26 - 28

Creando sistema de UI
06:26 - 29

Pantalla de game over
14:37 - 30

Agregando funcionalidad a la pantalla de game over
09:16 - 31

Reiniciando el juego
08:40 - 32

Agregando audio
10:05 - 33

Terminando el juego
07:39
¿Cómo crear un componente de UI Game Over en Unity?
En el mundo de los videojuegos, proporcionar una experiencia de usuario adecuada es clave para mantener a los jugadores involucrados. Uno de los elementos centrales en el ciclo de vida de un juego es la pantalla de "Game Over". Esta clase te guiará en el desarrollo de un componente de UI Game Over en Unity, permitiéndote ofrecer opciones de reinicio o salida del juego de manera profesional y funcional.
¿Cómo se implementa el script UI Game Over?
El componente de UI Game Over es crucial para tu juego, ya que gestiona el comportamiento cuando el jugador ha perdido. Aquí te mostramos cómo puedes implementarlo:
-
Creación del script: Dirígete a la carpeta de scripts, da clic derecho, selecciona crear, luego script de C#. Nombra este nuevo script como
UIGameOver. Este script será responsable de dotar de funcionalidad a la pantalla de Game Over. -
Importación y definición de propiedades:
- Importa el paquete
TextMeshProusando la línea:using TMPro;. - Define dos propiedades:
public int DisplayedPoints; public TextMeshProUGUI PointsUI;
- Importa el paquete
-
Suscripción a eventos:
- En la función
Start, suscríbete al eventoonGameStateUpdateddelGameManager:GameManager.Instance.onGameStateUpdated.AddListener(GameStateUpdated);
- En la función
-
Creación de la corrutina:
- Define la función
GameStateUpdateddonde, si el estado del juego esGameOver, inicia una corrutina llamadaDisplayPointsCoroutine:private void GameStateUpdated(NewState) { if (NewState == GameManager.GameState.GameOver) { DisplayedPoints = 0; StartCoroutine(DisplayPointsCoroutine()); } } private IEnumerator DisplayPointsCoroutine() { while (DisplayedPoints < GameManager.Instance.Points) { DisplayedPoints++; PointsUI.text = DisplayedPoints.ToString(); yield return new WaitForFixedUpdate(); } DisplayedPoints = GameManager.Instance.Points; PointsUI.text = DisplayedPoints.ToString(); }
- Define la función
-
Gestión de funciones de botones:
- Implementa las funciones
PlayAgainButtonClickyExitGameButtonClickpara gestionar los botones de jugar de nuevo y salir:public void PlayAgainButtonClick() { GameManager.Instance.RestartGame(); } public void ExitGameButtonClick() { GameManager.Instance.ExitGame(); }
- Implementa las funciones
¿Cómo se actualiza el GameManager?
Para que el botón de "Play Again" y "Exit Game" sean funcionales, es necesario implementar métodos dentro del GameManager:
-
Reinicio del juego:
- Crea y completa el método
RestartGameen elGameManager:public void RestartGame() { Points = 0; gameState = GameState.InGame; GameStateUpdated(gameState); currentTimeToMatch = 0; }
- Crea y completa el método
-
Función para salir del juego:
- Define
ExitGame, aunque por el momento puede quedar vacía:public void ExitGame() { }
- Define
¿Cómo se configuran los componentes en Unity?
Con el script implementado y el GameManager actualizado, procederás a configurar los componentes directamente en Unity:
-
Añadir el componente UI GameOver:
- En la pantalla de UI, agrega el nuevo componente
UIGameOver.
- En la pantalla de UI, agrega el nuevo componente
-
Configurar eventos onClick de los botones:
-
Para el botón "Play Again":
- Añade un evento
onClick, arrastra el objetoUIGameOvery selecciona la funciónPlayAgainButtonClick.
- Añade un evento
-
Para el botón "Exit Game":
- Añade un evento
onClick, arrastra el objetoUIGameOvery selecciona la funciónExitGameButtonClick.
- Añade un evento
-
Con estos pasos completados, has configurado correctamente el componente de UI Game Over en tu juego de Unity. Ahora, la pantalla de Game Over no solo mostrará los puntos del jugador, sino que también permitirá reiniciar el juego o salir, aumentando así la funcionalidad y robustez del juego. ¡Sigue así y pronto tendrás un producto completamente terminado!