Home | Clases | Unity: Videojuego para 2 jugadores en 2D estilo Pong | Pantalla de inicio

Pantalla de inicio


Introducción

En general, los juegos tienen una pantalla de inicio y una de créditos.

Unity provee de un sistema de gestión de escenas muy potente, y para este juego de momento vamos a plantear el uso de 2 escenas:

Inicio: al arrancar el juego, habrá una imagen de inicio con instrucciones, y al pulsar una tecla (P), desaparecerá y empezará el juego.
Juego: la escena que ya hemos creado y en la que se desarrolla el juego.

La pantalla de inicio

Para crear la pantalla de inicio, necesitaremos crear una nueva escena en la que utilizaremos componentes básicos de Unity como los utilizados hasta ahora.

Como ya hemos configurado algunas cosas (Cámara, Canvas, etc), para ahorrar tiempo vamos a crear la escena copiando la de Juego:

  • Selecciona File > Save Scene as y guárdala como Inicio dentro de Assets/Scenes.
  • Abre la escena Inicio haciendo doble clic sobre ella en Assets/Scenes.
  • Asegúrate de que estas en ella porque vamos a borrar cosas: En la raíz de Hierarchy window debe poner Inicio.
  • Borra los elementos Campo, RaquetaIzquierda, RaquetaDerecha y Bola.


NOTA: Por defecto Unity solo permite trabajar en una escena simultáneamente. Es posible tener varias escenas abiertas al mismo tiempo utilizando Multi-scene editing, si bien hay que tener cuidado ya que puede ser un poco confuso y podemos borrar o modificar lo que no debemos.

Para crear el título:

  • Oculta el elemento Centro seleccionándolo y, en la Inspector window, desmarcando el Checkbox a la izquierda de su nombre. De este modo no te molestará en la pantalla.
  • Renombra ContadorIzquierda y llámalo Título.
  • En la Inspector window, cambia Font Size a 100, Alignment Centrado (Horizontal y Vertical) y Horizontal y Vertical Overflow a Overflow.
  • Modifica el Text a PONG.
  • Por último, haz clic en el cuadrado de Anchors (debajo de Rect Transform y, con las tecla Alt + Shift pulsadas, haz clic en la opción middle / center. Esto hará que el texto que de centrado tanto en posición como en punto de pivotaje (aunque no vayamos a rotar el texto). Puedes encontrar más información sobre Anclas y Pivotaje en el Manual de Unity.
  • Modifica Position XYZ a 0, 60, 0.





Para crear las instrucciones:

  • Renombra ContadorDerecha y llámalo Instrucciones.
  • En la Inspector window, cambia Font Size a 40, Alignment Centrado (Horizontal y Vertical) y Horizontal y Vertical Overflow a Overflow.
  • Haz clic en el cuadrado de Anchors (debajo de Rect Transform y, con las tecla Alt + Shift pulsadas, haz clic en la opción middle / center.
  • Modifica Position XYZ a 0, -60, 0.
  • Modifica el Text a Jugador Izquierda: W/S.<br>Jugador Derecha: Flecha arriba/Flecha abajo<br>Haz clic o pulsa P para jugar.
  • NOTA: <br> significa, en HTML, que debes introducir un retorno de carro (line break o carriage return) o lo que es lo mismo, pulsar Enter para cambiar de línea.




Para crear el marco:

  • Activa Centro para verlo en la pantalla volviendo a marcar el checkbox a la izquierda del nombre.
  • Renombra Centro y llámalo Marco.
  • Modifica los cuadrados hijos a tu antojo (Creando o eliminando los que necesites) hasta conseguir un marco.




El Gestor de Escenas

El gestor de escenas o Scene Manager de Unity es una componente de su script API que nos permite controlar el comportamiento del juego en cuanto a la transición entre escenas.

Antes de utilizarlo, debemos añadir todas las escenas al Build del juego, de modo que el GameManager las reconozca.

  • Haz clic en File > Build Settings, selecciona Add Open Scenes y asegúrate de que ambas están marcadas y en el orden correcto (0 para Inicio y 1 para Juego).
  • Si no lo están, puedes arrastrarlas para colocarlas.
  • Cierra la ventana (No hagas Build).




  • Crea un nuevo EmptyObject vacío en las dos escenas (Inicio y Juego) y llámalo GameManager.
  • Dentro de Scripts, crea un nuevo C# script llamado GameManager y asócialo a los dos objetos GameManager vacíos.
  • Fíjate que el script tiene un icono diferente (una rueda dentada). Es porque Unity detecta ese nombre como el script que va a controlar todo el juego.
  • Abre el script y modifica el código:



using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class GameManager : MonoBehaviour {

void Update () {

//Si pulsa la tecla P o hace clic izquierdo empieza el juego
if (Input.GetKeyDown(KeyCode.P) || Input.GetMouseButton(0)){
//Cargo la escena de Juego
SceneManager.LoadScene("Juego");
}

}
}


NOTA: Esto hará que para ver el funcionamiento básico de las escenas de momento tengamos que arrancar el juego desde la escena Inicio, pero de otro modo habría que complicar demasiado el código del script, y de momento considero preferible ir entendiéndolo poco a poco.
Fecha de publicación: 22/10/2019
Asignaturas: realización de proyectos multimedia interactivosdesarrollo de entornos interactivos multidispositivo
Temas: Unity 2d Pong
Utilizamos cookies propias y de terceros para mejorar su experiencia en la navegación. Al seguir navegando entendemos que acepta su uso.
Si lo desea, consulte nuestras políticas de privacidad y cookies
ENTENDIDO
[X] Cerrar

Contacta conmigo


[X] Cerrar

Acceso alumnos