Diferencia entre revisiones de «Unity Gestión de escenas»
Ir a la navegación
Ir a la búsqueda
Ejemplo de escena principal de un juego
| Línea 8: | Línea 8: | ||
| − | [[Imagen:Unity3d_escenas_1.jpg|500px|center] | + | [[Imagen:Unity3d_escenas_1.jpg|500px|center]] |
<small><center>Ejemplo de escena principal de un juego</center></small> | <small><center>Ejemplo de escena principal de un juego</center></small> | ||
| Línea 15: | Línea 15: | ||
<br /> | <br /> | ||
| + | |||
=Creando nuevas escenas= | =Creando nuevas escenas= | ||
Revisión del 10:34 10 mar 2019
Sumario
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.
Creando nuevas escenas
- 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.
- Añadiendo escenas al proyecto
Cambiando de escena en los scripts
- Una vez tenemos las escenas cargadas podemos cambiar de una a otra haciendo uso del método ScreenManager.LoadScene de la clase ScreenManager.
- 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 }
- Para salir del juego debemos llamar al método Application.Quit().
-- Ángel D. Fernández González -- (2018).