jairogarcíarincón

Contador de goles


1.95K

Introducción



Cuando la bola atraviesa una de las paredes laterales, se ha marcado un gol.

Por tanto, son varias las tareas que tenemos que realizar en ese momento:

  • Actualizar el contador de goles del que haya marcado.
  • Re-posicionar la bola en el centro.
  • Si ha llegado a 5 goles, se acaba el juego.
  • Si no ha llegado a 5, le doy a la bola la velocidad en la dirección del que ha marcado.


Importar la fuente



Para asemejarnos al juego original, vamos a importar una fuente tipo 8-bit que emule el estilo "retro".

  • Crea un carpeta llamada Fonts dentro de tu proyecto
  • Descárgate la fuente VCR OSD Mono
  • Descomprímela y arrastra el archivo *.ttf a tu carpeta Fonts


Dibujar los contadores



Vamos a crear los contadores para cada jugador.

En la Hierarchy window, clic derecho Create > UI >Text. Esto crea automáticamente un Canvas de nivel superior, que contendrá toda nuestra interfaz de usuario UI.

Cambia el nombre de Text a ContadorIzquierda y modifica sus propiedades:

  • Arrástralo a la esquina superior del Canvas. Position XYZ debe ser -475, 300, 0
  • Width y Height debe ser 100
  • Cambia la Font a VCR_OSD_MONO_1.001 (arrastrándola).
  • Cambia el Color a Blanco
  • Cambia el Font Size a 60


Para hacer ContadorDerecha, simplemente duplica ContadorIzquierda, cambia el nombre a ContadorDerecha y modifica Position XYZ a 1165, -54, 0.

21. Contadores


Detectar los goles



Si recordamos, a los Box Collider 2D de los bordes Izquierda y Derecha les habíamos añadido la opción Is Trigger, por eso la bola "atraviesa" la portería.

Esto nos permite utilizar la función de Unity OnTriggerEnter2D, que nos devuelve con qué objeto ha colisionado.

De este modo, para detectar los goles, debemos añadir un nuevo script que llamaremos Portería:



Antes de continuar, debemos asociar dicho script a ambas porterías (Izquierda y Derecha).

Además, hemos llamado a la función reiniciarBola() del script de la Bola, de la que hablaremos a continuación.

Reiniciar la bola



Al marcar un gol, la bola debe volver a su posición original, en la dirección del que ha marcado el gol.

Para ello, debemos crear un método en el script Bola que nos permita modificar su posición y velocidad, pero ejecutarlo desde el script Porteria cuando se marque un gol.

¿Cómo lo hacemos? Utilizando un método publico (public).

Modifica el script Bola:



Para terminar, asocia las variables Contador Izquierda y Contador Derecha con sus respectivos campos Text del Canvas.

Con esto ya estaría el juego listo para jugar con un compañero indefinidamente.


Publicado el 02 de Diciembre de 2021

Unity2dPong