Detección de Colisiones en Flash con Action Script

Posted on diciembre 30, 2006. Filed under: Colisiones, Ejemplos Mios, Eventos, Movimiento |

Acá esta el archivo para ver

Y el código es este

Codigo que hace aparecer el misil de mario bros en la posición que sale

this.attachMovie(“Misil_0″,”Misil”,1)
this.Misil._x = 0;
this.Misil._y = 135;

Codigo que hace que cuando se pulse el botón el misil se mueva

import mx.transitions.Tween;
this.boton.onRelease = function (){
    var myTween:Tween = new Tween(Misil, “_x”, mx.transitions.easing.None.easeOut, 0, 300, 1, true);
}

Codigo que hace que cuando la película sienta que el misil y el muro se toquen, el misil desaparezca y haya una explosión

this.onEnterFrame = function (){
    if (this.Misil.hitTest(this.Muro)){
        removeMovieClip(Misil);
        this.attachMovie(“explocion”,”explocion1″,2)
        this.explocion1._x = 265;
        this.explocion1._y = 148;
    }
}

Lo importante de todo esto es el hitTest Con el detectamos las colisiones,

if (Misil.hitTest(Muro))

Acá esta diciendo, que si Misil toca Muro entonces

removeMovieClip(Misil);

Misil se removerá y

this.attachMovie(“explocion”,”explocion1″,2)

La explosión aparecerá

Make a Comment

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

9 comentarios to “Detección de Colisiones en Flash con Action Script”

RSS Feed for Aprendiendo a Programar en Python con PyGame para hacer Video Juegos Comments RSS Feed

Buen ejemplo, me gustaria saber acerca de las sentencias if que se puede usar para evaluar si ha tenido colision o no un objeto. Saludos

Hola Omar …

Gracias por comentar. No entiendo tu pregunta

La pregunta concreta es: Si puedo evaluar si una colision es true o false en determinado momento y de que otra forma puedo hacer esa evaluacion sea a través de if o a traves de otro elemento condicional, por ejemplo en el cado del misil puedo yo verificar que el misil no le ha dado aun al muro y que mientras no le de al muro el misil siga andando. Por cierto el RSS de la página funciona a la perfección por el numero de post no se si es nueva la pagina o no pero ojala crezca con nuestros comentarios . un Saludo

Lo puedes hacer con cualquier tipo de evento, ya sea con el mouse o teclado o linea de tiempo, o etc. Cualquier evento.

Y siempre tiene que tener un condicional, ya sea if, else o switch. puedes ver la categoría de condicionales del blog, que hay ejemplos. Pero siempre es mejor ver la guia de flash que siempre es mas completa
Siempre que la colisión se vaya a comprobar en los movimientos de unos movieClips debes utilizar un enterFrame o un onMotionChanged por ejemplo. lo que onMotionChanged es ejecutar un evento continuo durante el transcurso del movimiento. En este caso seria un comprobación si el objeto a colisionado con algo.

miDisparo.onMotionChanged = function(){
if (this.hitTest(_root.otraCosa)) {
cualquier_accion();
}
};

En los últimos post hay unos ejemplos de como hacerlo

Pues me parece muy bueno lo que estas haciendo, yo tambien soy pricipiante en flash, tengo algunos jueguitos ineditos y ani,aciones, he querido hacer un jueguito como el mario, en el que se tiene en cuenta salto,subirce en el bloque,no atravezar el bloque y akturamax, angulo pero no estoy muy pravtico en esto, por lo que te pido que me ayudes en esto, ¿como hago para que mario no atraviece el bloque y se suba en el uso hitTest pero no he logrado nada, solo se mueve der-izq,y brinca pero atravieza los bloques y no se como controlar si esta sobre del bloque en fin si me quieres ayudar, consultame, este esmi correo:

fvargas@cuc.edu.co
okiloco2@hotmail.com
fabianvargas.es.tl

te pido el favir meayudes, si quieres te paso los codigos explicados y los archivos de los jueguitossencillos que he hecho. Gracias….

Hola Fabian. Pues ahora no es que tenga mucho tiempo para ayudarte pero seguro que en Cristalab si te ayudan.

Busca en http://www.cristalab.com Detectar colisiones y veras que hay esta tu solución

Hola, tu explicaciones estan super bien
Pero quiero preguntar te algo…

si yo tengo un objeto (MC) y quiero que camine por un laberinto, peronoquiero que atraviese los muros…

Sabes como podria hacerlo?

Hay alguna forma de hacer un juego de futbol con flash. Solo quiero hacerlo con una pelota que rebote siempre y una barra vertical para parar la pelota. La pelota debe rebotar por delante y detrás de la barra vertical. Gracias…

excelente ayuda, me salvo la vida con un programa que no sabia como hacerlo muchas gracias y sigue adelante!


Where's The Comment Form?

Liked it here?
Why not try sites on the blogroll...

A %d blogueros les gusta esto: