Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.

View in English Always switch to English

Aleatorizar la jugabilidad

Este es el paso 12 de los 12 del tutorial para crear un juego Breakout con Phaser. Nuestro juego parece terminado, pero si te fijas bien, notarás que la pelota rebota en la paleta con el mismo ángulo durante toda la partida. Esto significa que todas las partidas son bastante parecidas. Para solucionarlo y mejorar la jugabilidad, deberíamos hacer que los ángulos de rebote sean más aleatorios, y en este artículo veremos cómo.

Hacer los rebotes más aleatorios

Podemos cambiar la velocidad de la pelota según el punto exacto en el que golpee la paleta, modificando la velocidad en x cada vez que se ejecute el método hitPaddle() con una línea como la siguiente. Añade ahora esta línea nueva a tu código y pruébala.

js
class ExampleScene extends Phaser.Scene {
  // ...
  hitPaddle(ball, paddle) {
    this.ball.anims.play("wobble");
    ball.body.velocity.x = -5 * (paddle.x - ball.x);
  }
  // ...
}

Es un poco de magia: cuanto mayor sea la distancia entre el centro de la paleta y el punto en el que la golpea la pelota, mayor será la nueva velocidad. Además, la dirección (izquierda o derecha) depende de ese valor: si la pelota golpea el lado izquierdo de la paleta, rebotará hacia la izquierda, mientras que si golpea el lado derecho, rebotará hacia la derecha. Quedó así tras experimentar un poco con los valores dados; puedes hacer tus propios experimentos y ver qué pasa. Por supuesto, no es completamente aleatorio, pero hace que la jugabilidad sea algo más impredecible y, por lo tanto, más interesante.

Compara tu código

Esto es lo que deberías tener hasta ahora, funcionando en vivo. Para ver su código fuente, haz clic en el botón "Play".

Resumen

Has terminado todas las lecciones, ¡felicidades! A estas alturas habrás aprendido los fundamentos de Phaser y la lógica que hay detrás de los juegos 2D sencillos.

Ejercicios para continuar

Puedes hacer mucho más en el juego: añade lo que creas que lo hará más divertido e interesante. Esta es una introducción básica que apenas araña la superficie de los innumerables métodos útiles que ofrece Phaser. Para que empieces, aquí tienes algunas sugerencias sobre cómo podrías ampliar nuestro pequeño juego:

  • Añadir una segunda pelota o paleta.
  • Cambiar el color del fondo con cada golpe.
  • Cambiar las imágenes y usar las tuyas.
  • Dar puntos extra si se destruyen ladrillos rápidamente, varios seguidos (u otras bonificaciones que elijas).
  • Crear niveles con distintas distribuciones de ladrillos.

No dejes de consultar la lista cada vez más larga de ejemplos y la documentación oficial, y visita el foro de Phaser en Discourse si alguna vez necesitas ayuda.

También puedes volver a la página de inicio de esta serie de tutoriales.