Interfaz para el sistema de tiempo
Clase 27 de 34 • Curso de Desarrollo de Videojuegos Móviles con Unity
Contenido del curso
- 8

Creando la cuadrícula
08:00 - 9

Ajustando la cámara
13:06 - 10

Sistema de coordenadas para instanciar las piezas
05:16 - 11

Instanciando las piezas en la cuadrícula
13:39 - 12

Moviendo las piezas
07:53 - 13

Intercambiando las piezas de lugar
14:45 - 14

Permitiendo solo ciertos tipos de movimientos
05:38 - 15

Creando las funciones del match 3
16:13 - 16

Usando el match 3 en nuestro juego
10:21 - 17

Eliminando los matches por defecto
12:31 - 18

Colapsando las piezas
17:31 - 19

Match 3 combo
07:47 - 20

Rellenando las piezas
07:36 - 21

Mejorando la animación de las piezas
07:37
- 24

Hablemos de diseño
01:34 - 25

Agregando un sistema de puntos
16:45 - 26

Sistema de tiempo
07:05 - 27

Interfaz para el sistema de tiempo
09:26 - 28

Creando sistema de UI
06:26 - 29

Pantalla de game over
14:37 - 30

Agregando funcionalidad a la pantalla de game over
09:16 - 31

Reiniciando el juego
08:40 - 32

Agregando audio
10:05 - 33

Terminando el juego
07:39
¿Cómo agregar una barra de tiempo en Unity?
El diseño de juegos en Unity ofrece un mundo de posibilidades para personalizar la experiencia del usuario. En esta clase, exploraremos cómo agregar un elemento visual que le indicará al jugador cuánto tiempo le queda antes de completar un objetivo: una barra de tiempo. Este tipo de indicador no solo mejora el feedback que obtiene el jugador, sino que también intensifica la urgencia y el desafío del juego.
¿Cómo configurar la barra de tiempo?
Para empezar, necesitarás crear una imagen en Unity que servirá como el fondo de la barra de tiempo. Sigue estos pasos para configurarla correctamente:
-
Crear la imagen: Selecciona tu elemento general de UI, haz clic derecho y selecciona
UI > Image. Nombra esta imagen "time bar". -
Configurar las propiedades visuales:
- Cambia el color de fondo a gris.
- Ajusta el alineamiento para que sea
Stretchen la parte superior. - Configura las propiedades de posición: 0 píxeles de la izquierda, derecha y en el eje Y.
- Ajusta el punto de pivote en Y a 1 para que esté en la parte superior.
- Define el alto en 90.
-
Agregar una barra interna: Dentro de la barra de tiempo, crea una segunda imagen mediante
UI > Image. Nómbrala "Fill", y configúrala para que sea la encargada de mostrar el tiempo restante.
¿Cómo controlar el tamaño y color de la barra con C#?
Una vez que tengas la barra visual en su lugar, es tiempo de agregar lógica para que su tamaño y color se ajusten dinámicamente según el tiempo restante. Aquí te explicamos cómo hacerlo:
-
Crear un script C# nuevo: Haz clic derecho en la carpeta de scripts y selecciona
Nuevo Script de C#, nómbralo "UI Time Bar". -
Configurar el script:
- Borrar la función
Start()y en su lugar declara tres propiedades principales:public RectTransform fillRect; public Image fillColor; public Gradient gradient; - Asegúrate de importar la librería
UnityEngine.UI.
- Borrar la función
-
Implementar la lógica de actualización:
- Dentro de
Update(), calcula el factor de tiempo restante:float factor = GameManager.instance.currentTimeToMatch / GameManager.instance.timeToMatch; factor = Mathf.Clamp(1 - factor, 0, 1); - Cambia la escala y el color de la barra:
fillRect.localScale = new Vector3(factor, 1, 1); fillColor.color = gradient.Evaluate(factor);
- Dentro de
¿Cómo configurar el tiempo y probar el juego?
Tras implementar el script, regresa a Unity para configurarlo y verificar que funcione correctamente:
-
Asigna las referencias:
- Arrastra el
Rect Transformy laImagede "Fill" a los camposfillRectyfillColorrespectivamente. - Configura el
Gradientpara que varíe del verde al rojo, pasando por el amarillo a mitad de camino.
- Arrastra el
-
Prueba el juego:
- Ejecuta el juego y observa cómo la barra cambia de color y disminuye su longitud a medida que se reduce el tiempo.
¡Y ahí lo tienes! Una barra de tiempo en tu interfaz que le proporcionará al jugador la información necesaria para medir el tiempo restante en sus partidas. Innovar y crear diferentes formas de representación visual del tiempo puede enriquecer muchísimo la experiencia de juego. ¿Tienes alguna idea creativa? ¡Nos encantaría ver tu interpretación! Comparte una captura de pantalla de tu proyecto en los comentarios.