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

Sin valoraciones

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

Nos venimos ahora al Managers y configuraremos la carga de escenas dentro del objeto SceneLoaderManager. Desde el inspector añadiremos un nuevo compo- nente>GameStateChanger

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

Una vez añadido el Game StateChanger nos venimos a la dependencia Game Ma­nager y le añadimos el Game Manager desde el botón que se encuentra a la dere­cha del recuadro, nos aparecerá este desplegable y podremos elegir la opción.

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

Y desde los componentes LoadSceneRequest que son los que hace posible que se cargue una escena o se cargue un menú tenemos que añadir un nuevo evento. Así que pulsamos en el + en ambos

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

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

Arrastraremos el script que hemos cargado como nuevo componente al cuadro de texto donde pone None(Object) dentro del primer LoadSceneRequest

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

Luego presionaremos la flecha del recuadro de las funciones y del desplegable seleccionaremos GameStateChanger>SetGameState

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

Ahora dentro del recuadro que nos aparece None (GameState SO) presionaremos el botón circular y elegimos la opción de Loading del desplegable

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

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

Quedando así en la configuración del evento del primer LoadSceneRequest:

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

Volvemos a repetir los pasos para el segundo LoadSceneRequest. Arrastramos el script Game State Changer al botón de None(Object) justo debajo de la opción de Runtime Only.

Una vez cargado el script en el evento podremos cambiar su función desde el desplegable a Game State Changer>SetGameState

Y para terminar en el cuadro de debajo del GameStateChanger.SetGameState pulsaremos en el botón circular y colocaremos el objeto programable llamado Loading

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

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

Hecho esto ahora cada vez que el player entre en una escena o le demos a un botón y carguemos cualquier otra escena el estado del juego en si será Loading.

A continuación nos vamos a la carpeta de prefabs y seleccionamos el LevelInitializer

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

Desde la ventana del inspector añadimos el componente Game State Changer y dentro de la opción Game Manager añadimos el GameManager

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

Y cuando termnine de cargarse le damos a + y añadimos los siguientes botones:

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

Arrastramos de nuevo el script de Game State Changer al recuadro marcado:

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

Dentro del apartaado funciones volveremos a elegir Game State Changer>SetGameState

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

Y de nuevo abriremos el desplegable del recuadro donde ahora pone None(GameState) y escogemos playing

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

Quedando así las opciones:

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

 

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