Llega el momento de ponerse serios y para ello primero empecé por implementar las rutinas de los enemigos.
Para esto utilizaría como se comentó anteriormente la librería Tween Engine la cual definiendo las coordenadas de origen y destino me permitiría definir facilmente sus rutinas pues esta librería permite además definir secuencias de rutinas por lo que se puede mover cuantas veces se quiera cada enemigo de cual forma se quiera.
Los resultados, aunque básicos, apuntaban a maneras:
Y ya que nos poníamos serios con las rutinas, vamos a más y empezaremos a implementar las colisiones con Box2D
Si no conocéis Box2D, os diré que es un motor de colisiones pensado especialmente para los cuerpos en 2 dimensiones, capaz de representar desde círculos y otras figuras simples a polígonos complejos sin dejarnos en ello el rendimiento del juego.
Normalmente y para ajustar lo mejor posible las colisiones se deberían realizar polígonos adecuados a cada nave, pero para empezar a testear las colisiones usaremos rectángulos sencillos y círculos.
Para implementar los cuerpos de Box2D lo más sencillo era, partiendo de lo que ya había, colocar los cuerpos en lugar los sprites actuales y luego copiar la posición de los cuerpos a los sprites para representarlos. Con esto se conseguirá mover los cuerpos junto con los sprites de una forma muy sencilla y efectiva.
El siguiente paso es definir los grupos de colisión a los que pertenece cada nave/disparo, para ello definimos los grupos:
- Nave enemiga
- Meteorito
- Disparo enemigo
- Disparo jugador
- Nave jugador
En mi test, al contactar dos objetos (a excepción del jugador) los objetos se borran, aqui video:
Y hasta aquí los test de rutinas y colisiones.
No hay comentarios:
Publicar un comentario