Diferencia entre revisiones de «Unity Gestión de escenas»

De MediaWiki
Ir a la navegación Ir a la búsqueda
(Cargando escenas dinámicamente)
 
Línea 38: Línea 38:
 
Image:Unity3d_escenas_6.jpg| Al hacerlo se añade la escena abierta. Fijarse que a cada escena le asocia un número. Es el orden en que están añadidas. Podemos cambiarlo si 'arrastramos' una escena y la colocamos en otra posición. Este número puede ser utilizado para indicar que escena queremos cargar desde el juego.
 
Image:Unity3d_escenas_6.jpg| Al hacerlo se añade la escena abierta. Fijarse que a cada escena le asocia un número. Es el orden en que están añadidas. Podemos cambiarlo si 'arrastramos' una escena y la colocamos en otra posición. Este número puede ser utilizado para indicar que escena queremos cargar desde el juego.
 
Image:Unity3d_escenas_7.jpg| Repetiremos el proceso por cada escena.<u>No es necesario cerrar la ventana Build Settings para cargar una nueva escena</u>. Si pulsamos dos veces sobre otra escena sin cerrarlo, esta se carga y podemos añadirla al proyecto.
 
Image:Unity3d_escenas_7.jpg| Repetiremos el proceso por cada escena.<u>No es necesario cerrar la ventana Build Settings para cargar una nueva escena</u>. Si pulsamos dos veces sobre otra escena sin cerrarlo, esta se carga y podemos añadirla al proyecto.
 +
Image:Unity3d_escenas_8.jpg| También podemos añadir todas las escenas 'de vez' arrastrando las escenas a la ventana de Build Settings.
 
</gallery>
 
</gallery>
  
  
 
<br />
 
<br />
 +
 
=Cambiando de escena en los scripts=
 
=Cambiando de escena en los scripts=
  

Revisión actual del 09:47 3 jun 2020

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).