Introducción
Exceptuando la línea central, el resto de elementos del juego tendrán algún comportamiento físico:
- Los bordes superior e inferior deben hacer que la bola rebote.
- Los bordes izquierdo y derecho deben detectar que la bola los atraviesa para contabilizar los puntos.
- Las raquetas deben poderse mover con el teclado y deben hacer que la bola rebote en ellos.
- La bola debe rebotar en los diferentes elementos en determinadas direcciones y sentidos.
Los bordes superior e inferior
A estos bordes debemos añadirles un
Box Collider 2D, de modo que podamos detectar una colisión en ellos.
Para ello, simplemente seleccionamos los objetos
Arriba y
Abajo, hacemos clic en
Add Component de la
Inspector window, escribimos y seleccionamos
Box Collider 2D.
En principio no es necesario hacer más modificaciones en ellos.
Los bordes izquierdo y derecho (porterías)
En este caso, haremos exactamente lo mismo que antes con los objetos
Izquierda y
Derecha, pero además, marcaremos la propiedad
Is Trigger, que nos permitirá más adelante detectar que hemos "atravesado" el objeto y, por tanto, hemos marcado gol.
Las raquetas y la bola
En Unity, para que dos objetos interactúen entre ellos, ambos deben tener un
Box Collider, y
al menos uno de ellos debe tener un componente
Rigidbody.
No obstante, por regla general añadiremos un
Rigidbody 2D a cada elemento que se mueva para poder utilizar ciertas funcionalidades, así que tanto las raquetas como la bola lo tendrán.
Para ello, además de añadir el componente
Box Collider 2D que hemos añadido a los anteriores, añadiremos también un componente
Rigidbody 2D en el que ajustaremos:
- Mass a 1 en las Raquetas y a 0.0001 en la Bola, ya que no queremos que la bola desplace a las raquetas al rebotar.
- Gravity Scale a 0, ya que a nuestro juego no le va a influir la fuerza de la gravedad
- Constraints > Freeze Rotation Z seleccionado, ya que ni nuestra bola ni las raquetas deben rotar en esa dirección
- Collision Detection seleccionamos Continuous para habilitar el interpolado y que la detección sea más precisa
Con esto tendríamos configurada la física de nuestro juego. Lo siguiente será aplicar movimiento a las raquetas y a la bola.