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

Sin valoraciones

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

Ahora abriremos el prefab de player y le añadiremos un componente llamado GameStateListener

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

Dentro de las opciones que nos da este script habilitaremos los siguientes componentes que vemos marcados:

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

Abrimos la escena de Gameplay y dentro de esta crearemos un nuevo objeto vacio que llamaremos UIManager

Juego

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

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

Y lo colocamos en la parte de arriba de nuestra Jerarquía

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

Le añadimos el componente de GameState Listener

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

Y lo configuramos tal y como hemos hecho antes:

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

Ahora añadimos otra dependencia y arrastramos UIManager dentro del None(Object)

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

Despues elegimos la Función GameObject>SetActive

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

Ahora crearemos otra dependencia dentro de las opciones de Actions y arrastraremos el prefab de SettingsMenu dentro del recuadro de None(Object)

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

Y seguidamente seleccionamos GameObject>SetActive en el apartado de Funciones

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

Dejando así las opciones dentro del On Main Menu State y así esté desactivado

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

Para no tener que ir haciendo esto uno por uno podemos reusar esta configuración dentro de otros elementos o acciones. Para ello nos ponemos encima de OnMainMenuState y presionamos el botón derecho del ratón y elegimos la opción de Copy

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

Y ahora lo pegamos en el siguiente On Loading State repitiendo el mismo proceso

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

Y ahora lo pegamos en el siguiente On Playing State repitiendo el mismo proceso. Dejamos activado el HUD marcando la casilla de debajo de GameObject.SetActiveJuego

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

Por ultimo pegaremos esta configuración en el apartado que pone OnPauseState y dejaremos activada la casilla del PauseMenu

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

Guardamos los cambios

 

 

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