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

[mr_rating_result]

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

[mr_rating_form]

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