Unity Gestión de escenas

De MediaWiki
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Ir a la navegación Ir a la búsqueda

Introducción

  • Como comenté al principio de esta Wiki una escena la podemos identificar como cada una de las pantallas que conforman nuestro juego.
También puede identificarse con diferentes 'fases' que pueda tener nuestro juego, creando nuevos escenarios.


  • Normalmente todo juego tendrá una pantalla Inicial donde aparecen las diferentes opciones de configuración del juego, acceso a High Scores, ayuda,...cada una de estas pantalla conformará una escena de nuestro juego.


Unity3d escenas 1.jpg
Ejemplo de escena principal de un juego




Creando nuevas escenas




Cargando escenas dinámicamente

  • Durante el juego iremos de una escena a otra en función de lo que haga el jugador.
Lo primero que tenemos que hacer es 'cargar' las escenas que conforman nuestro juego.
A pesar de que estén creadas a nivel de proyecto, las escenas no forman parte del juego hasta que no se lo indiquemos a Unity.



Cambiando de escena en los scripts

Como parámetro espera recibir el nombre de la escena a cargar o el número asociado a la escena como ya comenté anteriormente.


En el caso de la pantalla principal podemos crear un script asociado a un Empty GameObject que en función de los eventos de los botones a nivel de la interface gráfica cargue una escena u otra.
 1 public class Principal : MonoBehaviour {
 2 
 3     public void CambiarPantalla(Button button)
 4     {
 5         if (button.name.Equals("Jugar"))
 6         {
 7             SceneManager.LoadScene("PantallaJuego");
 8         }
 9         else if (button.name.Equals("HighScores"))
10         {
11    .......
12 
13     }
14 }





Enlace a la página principal del curso



-- Ángel D. Fernández González -- (2018).