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

Botonera en AS3 con un listener y una función

Estas en el tema de Botonera en AS3 con un listener y una función en el foro de Flash y Actionscript en Foros del Web. Hola que tal haber si me pueden ayudar. Tengo un MovieClip llamado "botonera_mc" , dentro de este existen 5 MovieClips que actúan como botones. al ...
  #1 (permalink)  
Antiguo 04/07/2011, 13:41
 
Fecha de Ingreso: junio-2010
Mensajes: 13
Antigüedad: 13 años, 10 meses
Puntos: 1
Botonera en AS3 con un listener y una función

Hola que tal haber si me pueden ayudar.

Tengo un MovieClip llamado "botonera_mc", dentro de este existen 5 MovieClips que actúan como botones. al hacer un ROLL_OVER ejecuta una animación y al hacer ROLL_OUT se regresa. El problema es que se disparan todas al mismo tiempo. Todo esto con un solo listener y una función (Para hacer más pequeño el código)

Aquí el código:
Código:
import flash.display.MovieClip; 
 
for (var i:Number=0; i<botonera_mc.numChildren; i++){ 
   botonera_mc.getChildAt(i).addEventListener(MouseEvent.ROLL_OVER, m_over) 
   botonera_mc.getChildAt(i).addEventListener(MouseEvent.ROLL_OUT, m_out); 
   botonera_mc.getChildAt(i).addEventListener(Event.ENTER_FRAME, mov); 
   MovieClip(botonera_mc.getChildAt(i)).buttonMode = true; 
} 
    
var over:Boolean; 
 
function m_over(event:MouseEvent):void 
{ 
   over = true; 
} 
 
function m_out(event:MouseEvent):void 
{ 
   over = false; 
} 
 
function mov(event:Event):void { 
      if(over){ 
      event.target.nextFrame(); 
      }else{ 
      event.target.prevFrame();    
      }    
}
...y aquí el resultado:
http://img9.xooimage.com/files/a/1/b/menu-2a6e7a3.swf

Gracias, espero puedan ayudarme.
  #2 (permalink)  
Antiguo 04/07/2011, 13:59
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años
Puntos: 66
Respuesta: Botonera en AS3 con un listener y una función

me parece que tiene algo que ver con lo que estas haciendo de llegar a la funcion final en 2 pasos

cuando haces el rollover a la funcion over si que le llega un target
pero cuando se activa la funcion mov creo que el target deseado ya no le llega

prueba añadir un trace(event.target); en la raiz de mov a ver a quien llama
  #3 (permalink)  
Antiguo 04/07/2011, 14:10
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años
Puntos: 66
Respuesta: Botonera en AS3 con un listener y una función

function m_over(event:MouseEvent):void
{
event.target.over = true;
}

function m_out(event:MouseEvent):void
{
event.target.over = false;
}

function mov(event:Event):void {


if(event.target.over){
event.target.nextFrame();
}else{
event.target.prevFrame();
}
}



si que era eso
lo que he hecho aqui es a cada objeto crearle la variable over en lugar de crear la variable over en la raiz de la película, necesitabas una variable para cada enlace de lo contrario todos los clips atenderian a la misma variable
  #4 (permalink)  
Antiguo 04/07/2011, 21:22
 
Fecha de Ingreso: junio-2010
Mensajes: 13
Antigüedad: 13 años, 10 meses
Puntos: 1
De acuerdo Respuesta: Botonera en AS3 con un listener y una función

Muchísimas gracias Juanito1712, funciona!!!

Ayer pasé toda la tarde modificando el código como loco y no hallaba una solución. No me queda mas que agradecerte nuevamente!!!!

Última edición por e619; 04/07/2011 a las 21:30

Etiquetas: as3, flash
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 00:58.