Foros del Web » Creando para Internet » Flash y Actionscript »

funcion que reconozca un movie clip

Estas en el tema de funcion que reconozca un movie clip en el foro de Flash y Actionscript en Foros del Web. Supongamos que tengo 10 clip de pelicula instanciados uno, dos, tres, cuatro... hasta diez. Cada clip tiene dentro de su primer fotograma un stop(); para ...
  #1 (permalink)  
Antiguo 28/05/2009, 15:41
Avatar de Mojorochi  
Fecha de Ingreso: mayo-2009
Mensajes: 40
Antigüedad: 15 años, 6 meses
Puntos: 0
Pregunta funcion que reconozca un movie clip

Supongamos que tengo 10 clip de pelicula instanciados uno, dos, tres, cuatro... hasta diez.

Cada clip tiene dentro de su primer fotograma un stop(); para que no se reprodusca hasta que yo le de la orden.
Asi que tengo que poner un listener para cada clip de pelicula y el nombre del evento. Por Ejemplo:

Cita:
uno.addEventListener(MouseEvent.MOUSE_over, animar);
function animar(e:MouseEvent):void{
uno.play();
}

dos.addEventListener(MouseEvent.MOUSE_over, animar);
function animar(e:MouseEvent):void{
dos.play();
}
...//y asi sucesivamente para cada clip
Yo encontre investigando un poco un codigo para que se ejecute algo cuando mueva el raton en el escenario, y de ahi me agarre para ejecutar una funcion (ya que el raton forsozamente tiene que moverse para ponerce encima de un clip)

Cita:
stage.addEventListener(MouseEvent.MOUSE_MOVE, RECONOCERclip);
//codigo para reconocer el boton sobre el que se actua
function RECONOCERclip(e:MouseEvent):void{
var MC:string = "";//(aqui algo con que reconozca el clip sobre el que estoy y lo guarde, por ejemplo, guardar en una variable);
trace("El nombre del clip es: "+MC);//esto es facil, solo para que me entiendan
(MC).play();//y asi poder ejecutar la animacion de cualquier MC detectado con la variable. Lo puse entre parentesis asi, pero claro que asi no funciona.
}
No quiero solo obtener el nombre del movie clip, sino tambien poder usar ese nombre para trabajar con sus propiedades dentro de una sola funcion, en lugar de repetirlas

Talves no sea la forma mas adecuada, pero es lo que he encontrado.
Agradecere claro sus opiniones y nuevas sugerencias como a Lynxcraft que me ayudo con un ciclo anteriormente

No es mucho por no escribirlas, sino por hacer el proceso menos pesado para flash y ahorrar recursos en la web
  #2 (permalink)  
Antiguo 28/05/2009, 16:11
 
Fecha de Ingreso: agosto-2008
Mensajes: 109
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: funcion que reconozca un movie clip

Cita:
root.addEventListener(Event.ENTER_FRAME, RECONOCERclip:
function RECONOCERclip (event:Event):void{
if(uno.hitTestObject(root.mouseX,root.mouseY,true) {
trace ("El mouse toca el movieClip");
}else{
trace ("El mouse no toca el moveiClip");
}
}
Eso hace que todo el tiempo se reconozca su el mouse toca o no un movieclip, en tu caso, sacarias el trace y podrias el play. Igual tu primer metodo no estaba mal, si te sentis mas comodo teniendo un codigo con 50 lineas mas, no te preocupes mucho, el texto plano no es lo que pesa.
  #3 (permalink)  
Antiguo 28/05/2009, 17:03
Avatar de Mojorochi  
Fecha de Ingreso: mayo-2009
Mensajes: 40
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: funcion que reconozca un movie clip

Cita:
Iniciado por Personagorda Ver Mensaje
Eso hace que todo el tiempo se reconozca su el mouse toca o no un movieclip, en tu caso, sacarias el trace y podrias el play. Igual tu primer metodo no estaba mal, si te sentis mas comodo teniendo un codigo con 50 lineas mas, no te preocupes mucho, el texto plano no es lo que pesa.
Parece util. Voy a analisarlo y te comento luego mis resultados, aunque a simple vista veo que tengo que poner el codigo para cada clip y cada clip me dira si lo toco o no... no se si sea lo que busco (que el lugar donde esta el objeto me detecte el objeto, y no el objeto se detecte a si mismo)... pero lo reviso.

Gracias por tu ayuda

Última edición por Mojorochi; 28/05/2009 a las 17:11
  #4 (permalink)  
Antiguo 28/05/2009, 17:11
 
Fecha de Ingreso: agosto-2008
Mensajes: 109
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: funcion que reconozca un movie clip

Usas una funcion y agregas acorde a la cantidad de movieclips la misma cantidad de if, obviamente si te sentis seguro, podes renombrar a todos tus movieclips por ejemplo mc1, mc2, mc3, etc y haces el loop con una sola condicion. Si la condicion se cumple (que es si se tocan) mc.play();
  #5 (permalink)  
Antiguo 28/05/2009, 18:01
Avatar de Mojorochi  
Fecha de Ingreso: mayo-2009
Mensajes: 40
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: funcion que reconozca un movie clip

Cita:
Iniciado por Personagorda Ver Mensaje
Usas una funcion y agregas acorde a la cantidad de movieclips la misma cantidad de if, obviamente si te sentis seguro, podes renombrar a todos tus movieclips por ejemplo mc1, mc2, mc3, etc y haces el loop con una sola condicion. Si la condicion se cumple (que es si se tocan) mc.play();
aaah! si, creo que ya entiendo mejor...
Gracias
  #6 (permalink)  
Antiguo 29/05/2009, 08:43
Avatar de Mojorochi  
Fecha de Ingreso: mayo-2009
Mensajes: 40
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: funcion que reconozca un movie clip

Para probarlo puse el codigo tal y como me lo escribiste y no me funcionó
¿a que se debera?
trabaje en as2 y as3
  #7 (permalink)  
Antiguo 01/06/2009, 12:44
Avatar de Mojorochi  
Fecha de Ingreso: mayo-2009
Mensajes: 40
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: funcion que reconozca un movie clip

esta linea me genera un error en actionscrip 3, que es el que trabajo (para acostumbrarme a lo mas nuevo y potente)
uno.hitTestObject(root.mouseX,root.mouseY,true)

no tendras una forma similar en as3 para cuando toquen y no toque el clip, o ¿que parametros debo modificar?
  #8 (permalink)  
Antiguo 02/06/2009, 16:22
 
Fecha de Ingreso: agosto-2008
Mensajes: 109
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: funcion que reconozca un movie clip

Perdon la demora, te lo di en AS 3 el codigo, pero ahora que lo veo tiene unos errores.
Cita:
dos.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown)

function mouseDown(event:MouseEvent):void {
dos.startDrag();

}
dos.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);

function mouseReleased(event:MouseEvent):void {
dos.stopDrag();
trace(dos.hitTestObject(uno));

}
Es basicamente lo mismo este, hace 2 MC en el escenario, uno se llama "uno" y el otro "dos". Si arrastras "dos" hasta uno vas a tener la leyenda "true".
  #9 (permalink)  
Antiguo 02/06/2009, 18:24
Avatar de Mojorochi  
Fecha de Ingreso: mayo-2009
Mensajes: 40
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: funcion que reconozca un movie clip

muchas gracias, esto tambien me va a servir mucho.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:55.