MuelaLab Blog: Tutoriales Diseño Web, flash, Facebook, php, Actionscript.

hitTest y EnterFrame en ActionScript3

Buenas buenas, bueno seguimos con los tutoriales!, ahora veremos como crear un hitTest y un EnterFrame con Actionscript3, lo veremos ambos en un ejemplo y por ahora dejaremos de lado las clases lo haremos lo mas simple posible…
Usaremos el ejemplo de Drag And Drop con AS3 para poder mover el clip1 sobre el clip2, y usaremos el enterFrame para que verifique continuamente cuando estos clips se estan tocando…
El Ejemplo se vera asi:

This movie requires Flash Player 8

Empecemos, Primero crearemos dos nuevos MovieClips, sencillo dibujamos dos cuadros seleccionamos uno y lo convertimos en MC precionando F8, les damos cualquier nombre y luego hacemos lo mismo con el otro, una ves hecho esto, les damos un nombre de instancia en el panel de propiedades (Ctrl+F3) a uno le ponemos “miClip” y al otro “miClip2“… listo tenemos dos clips!!
Ahora creamos un campo de texto de tipo Dinamico, y le ponemos como nombre de instancia “texto”, este servira pra mostrarnos que esta pasando… =)..
Ahora seleccionaremos el primer frame de la pelicula (preferiblemente el de la capa superior) y en el panel de acciones (F9) escribimos el siguiente codigo:

function arrastrar(e:Event):void{
	miClip.startDrag();
}
function soltar(e:Event):void{
	miClip.stopDrag();
}
miClip.addEventListener(MouseEvent.MOUSE_DOWN,arrastrar);
miClip.addEventListener(MouseEvent.MOUSE_UP,soltar);

Explicacion: Este codigo hace posible que el MC “miClip” se peuda arrastrar (drag&Drop), la explicacion ya esta en el tutorial de Drag y Drop…

Ahora si probamos la pelicula el MC “miClip” se podria arrastrar, pero ahora encesitamos verificar cuando este sobre el MC “miClip2″, para eso usaremos el enterFrame y hitTest.. asi que debajo del codigo anterior escribimos el siguiente codigo:

miClip.addEventListener(Event.ENTER_FRAME,checa_choque);
function checa_choque(e:Event){
	if(miClip.hitTestObject(miClip2)){
    texto.text="Ah!! Chocaron!!!";
	}else{
	texto.text="No Se Tocan =)!";
	}
}

Explicacion: Como ven añadimos un listener a “miClip” que se encargara de ejecutar la funcion “checa_choque” mientras este el evento “Enter_Frame” (que este es mientras que el clip este en escena), luego la funcion “checa_choque” verifica si el clip “miClip” esta chocando con el objeto “miClip2″ (linea 3), si es asi modifica el texto “texto” para avisarnos que esta chocando, en caso contrario… pues no indica lo contrario XD!!..

Como ven sigue siendo simple, sin embargo es un poco mas de codigo que en ActionScript 2, talves por ahora no vean muchas ventajas en AS3.. pero mientras avancemos en el nivel de programacion veremos las ventajas de ActionScript3… Espero les sea de ayuda y cualquier duda aqui estoy con gusto… dejen sus comentarios!..
Descarga De Archivos Muelalab.com

Gracias y suerte!!

Puedes Seguir Cada Respuesta A Esta Entrada Desde El Archivo RSS 2.0