Creative Commons License
Crear un juego flash de tipo arcade. por Julio Laguna is licensed under a Creative Commons Reconocimiento-No comercial-Sin obras derivadas 2.5 España License.

Crear un juego flash de tipo arcade.
por Julio Laguna - redribera

2 La escena en movimiento.

2.6 Disparo y detección de colisiones.

Para finalizar, veamos como resolvemos la forma de disparar de nuestro enemigo. Mostramos nuevamente el código fuente que vimos anteriormente.

Código para la instancia del clip de soldado_mc.

En las líneas 8,9 y 10 declaramos sendas variables globales relativas a la acción de disparar.
La función dispara_der que se define entre las líneas 74 a la 91, es la encragada de realizar el movimiento de los disparos.
Esta función solo actua desde el evento onEnterFrame, línea 16, y para ello requiere que la variable disparo, sea true (inicialmente es false). El encargado de activar esta variable, osea el disparo, es nuestro enemigo, cuando se encuentra en el estado 1, línea 66.
Una vez esta variable se active y se establezcan el número de disparos, se llama a la función dispara_der, por cada evento de fotograma que se produzca.
Para ello, fijaros, como también tenemos una variable de estado del disparo (algo diferente) disparo_status, inicialmente a 0 y que aumenta conforme realizamos un disparo. línea 77. Llega a contener el valor del número de disparos. En la línea 76 se observa como añadimos a la escena un clip de bala, que ya creamos anteriormente en la posición donde se encuentra nuestro enemigo, que ya está desplazandose hacia la derecha. Al mismo tiempo, entre las líneas 79 a la 85, tenemos un bucle que se ejecuta tantas veces como balas tenemos en movimiento (lo limita el valor de disparo_status), y que se encarga de desplazar cada bala. 10 unidades a lo largo del eje x, línea 80.
De las líneas 81 a 85, tenemos una propiedad muy importante de los objetos MovieClip de Flash, encargada de la detección de colisiones. Se trata de la propiedad hitTest de un movieClip y que acepta como argumento otro movieclip. Bueno, pues esta función devuelve un valor de true, cuando ambos movieeClips están en superposición. Esto nos viene de perlas para testear por cada movimiento del proyectil, si este se haya en contacto con la instancia del clip soldado_mc y que en nuestro ejemplo se llama hombre, para saber si a nuestro personaje, lo alcanzó un proyectil, en cuyo caso lo pasaremos al estado de morir. Líneas 81 a 85.
Además de ello, iniciaremos una cuenta linea 83, de 40 eventos de fotograma (además de parar el fondo de la escena, en la línea 84), y que pasados estos 40 eventos, nuestro soldado volverá a la vida, para seguir con el juego. Este test se hace entre las líneas 17 a la 20 en los eventos onEnterFrame.
Finalmente entre las líneas 87 a 90 comprobamos si los disparos salieron por la izquierda de la pantalla, en cuyo caso reinicializaremos los valores de disparo, que nuestro enemigo se encargará de reinicializar mas tarde cuando se cumpla otro ciclo.

Y eso es todo en cuanto a la explicación del código. Bajo estas líneas os dejo nuevamente nuestro prototipo de juego con el fichero fla lista para descargar donde todos los comentarios que hicimos quizás se os clarifiquen algo mejor.



Por último comentaremos en la siguiente sección algunas anotaciones finales que los autores queremos realizar acerca del desarrollo de este y otros juegos en Flash que nos parece necesario para finalizar este tutorial.

« Anterior
Indice
Siguiente »