TEMA 8 CREACIÓN DEL GAMEMANAGER (continuación)

Sin valoraciones

TEMA 8 CREACIÓN DEL GAMEMANAGER (continuación)

Comprobamos que el prefab ahora ha cambiado con estas opciones dentro de la escena de Town y de House. Tiene que verse igual que lo que acabamos de configurar.

Ahora configuraremos el estado de pausa de nuestro juego. Así que para ello tenemos que abrir la carpeta de Escenas de nuestro proyecto y abrir la escena Gameplay.

TEMA 8 CREACIÓN DEL GAMEMANAGER (continuación)

Dentro de la ventana de jerarquía desplegamos los objetos que componen dicha escena y seleccionamos el HUD y dentro de este el botón Pause

TEMA 8 CREACIÓN DEL GAMEMANAGER (continuación)

Desde el Inspector añadiremos el componente Game State Changer

TEMA 8 CREACIÓN DEL GAMEMANAGER (continuación)

Dentro del Game State Changer Seleccionamos GameManager dentro de la opción Game Manager

TEMA 8 CREACIÓN DEL GAMEMANAGER (continuación)

Luego dentro de OnClick añadiremos otra fila pulsando el +

TEMA 8 CREACIÓN DEL GAMEMANAGER (continuación)

Arrastraremos el script que acabamos de añadir dentro del recuadro que pone None (Object) y luego dentro de las funciones elegimos la opción de Game State Changer>SetGameState y por último seleccionaremos el objeto programable de Paused

TEMA 8 CREACIÓN DEL GAMEMANAGER (continuación)

TEMA 8 CREACIÓN DEL GAMEMANAGER (continuación)

Ahora abriremos la escena de Gameplay y añadiremos un pequeño cambio al botón de resume que se encuentra en esta escena

TEMA 8 CREACIÓN DEL GAMEMANAGER (continuación)

Desde la ventana de jerarquía buscamos el objeto Pause Menu

TEMA 8 CREACIÓN DEL GAMEMANAGER (continuación)

Y dentro del Pause Menu buscamos Options>Buttons>ResumeButton

TEMA 8 CREACIÓN DEL GAMEMANAGER (continuación)

Lo abrimos en el inspector y donde pone OnClick agregaremos otra dependencia

TEMA 8 CREACIÓN DEL GAMEMANAGER (continuación)

TEMA 8 CREACIÓN DEL GAMEMANAGER (continuación)

De nuevo repetiremos lo que hemos hecho hasta ahora con otros componentes. Nos iremos al botón de Add Component y buscaremos en el desplegable el script de Game State Changer

TEMA 8 CREACIÓN DEL GAMEMANAGER (continuación)

Dentro de Game Manager escogemos el objeto programable GameManager

TEMA 8 CREACIÓN DEL GAMEMANAGER (continuación)

Arrastramos este script dentro del cuadro marcado:

TEMA 8 CREACIÓN DEL GAMEMANAGER (continuación)

Y dejamos la función con la opción Game State Changer>RestorePreviousState

TEMA 8 CREACIÓN DEL GAMEMANAGER (continuación)

Con esta opción le estamos diciendo que si nosotros damos a pausa a nuestro juego que vuelva a cargar la escena en la que estabamos antes.

Y ya solo nos queda guardar todos los cambios que hemos hecho hastahora.

 

El GameManager en Unity es a menudo un componente crucial que gestiona aspectos globales del juego, como la puntuación, el estado del juego, la gestión de niveles, y más:

1. Crear un objeto vacío para el GameManager:

1.1. En el Editor de Unity:

  • Crea un objeto vacío llamado «GameManager» en tu escena.

2. Crear el script GameManager:

2.1. Crea un nuevo script llamado «GameManager»:

  • Haz clic con el botón derecho en el Assets -> Create -> C# Script.
  • Nombre del script: GameManager.

2.2. Abre el script en tu editor de código preferido:

  • Define variables globales para gestionar el estado del juego, la puntuación, el tiempo, etc.
csharp
using UnityEngine; public class GameManager : MonoBehaviour { public static GameManager instance; // Variables de juego public int playerScore = 0; public bool isGameOver = false; private void Awake() { // Implementa el patrón Singleton para asegurar una única instancia del GameManager if (instance == null) { instance = this; } else { Destroy(gameObject); } } void Start() { // Inicializa cualquier configuración inicial del juego // Puedes cargar niveles, establecer valores predeterminados, etc. } void Update(){ // Aquí puedes verificar condiciones para el final del juego, actualizar puntuaciones, etc. if (isGameOver) { // Lógica para el final del juego } } // Otros métodos útilespublic void IncreaseScore(int amount) { // Método para aumentar la puntuación del jugadorplayerScore += amount; // Puedes añadir aquí lógica adicional, como actualizar la interfaz de usuario } public void GameOver() { // Método para llamar al final del juegoisGameOver = true; // Puedes realizar acciones adicionales, como mostrar un menú de fin de juego } }

3. Asignar el script al objeto GameManager:

3.1. Arrastra y suelta el script GameManager al objeto GameManager en tu escena.

4. Utilizar el GameManager desde otros scripts:

4.1. Accede al GameManager desde otros scripts:

  • Puedes acceder a la instancia del GameManager desde cualquier otro script usando GameManager.instance.
csharp
// Ejemplo de cómo aumentar la puntuación desde otro scriptGameManager.instance.IncreaseScore(10);

Compártelo en tus redes

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest

Valore este curso

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Utilizamos cookies para asegurar que damos la mejor experiencia al usuario en nuestra web. Si sigues utilizando este sitio asumimos que estás de acuerdo. VER