Comunidad de diseño web y desarrollo en internet online

AYUDA: MovieClips

Citar            
MensajeEscrito el 24 Feb 2010 11:12 pm
Hola, hoy dandoles lata nuevamente:

Tengo 10 MovieClips (aun que la cantidad creo que no importa) estos sirven como menu, y tengo un "seguidor" lo que quiero hacer es reconocer cuando el mouse esta encima de alguno de estos botones (los mencionados 10 MovieClips) reconosca cual es y segun sea el caso me arroje una variable.

El seguidor es un MovieClip que lleva en 1 capa la forma de una nube y en otra capa lleva un campo de texto dinamico llamado "txtMenu", la variable que quiero recuperar es para informarle al seguidor sobre que boton esta y que muestre el nombre de el.

Mis movieclips estan asociados a una ClaseBase para ejecutar sietar animaciones despues tengo cada uno de mis botones en un Listener que llama a la funcion "mover":

Código ActionScript :

fotografia_mc.addEventListener(MouseEvent.MOUSE_OVER,mover);
impresos_mc.addEventListener(MouseEvent.MOUSE_OVER,mover);
promocionales_mc.addEventListener(MouseEvent.MOUSE_OVER,mover);
textiles_mc.addEventListener(MouseEvent.MOUSE_OVER,mover);
uniformes_mc.addEventListener(MouseEvent.MOUSE_OVER,mover);
web_mc.addEventListener(MouseEvent.MOUSE_OVER,mover);
diseno_mc.addEventListener(MouseEvent.MOUSE_OVER,mover);
emarketing_mc.addEventListener(MouseEvent.MOUSE_OVER,mover);
estampado_mc.addEventListener(MouseEvent.MOUSE_OVER,mover);
qcheck_mc.addEventListener(MouseEvent.MOUSE_OVER,mover);

function mover(e:MouseEvent):void{ //esta es la funcion que hace mover al seguidor
   seguidor.alpha=1;
   seguidor.startDrag();
   seguidor.x = mouseX+(seguidor.width/2)-13;
   seguidor.y = mouseY-(seguidor.height/2);   
}

var responde:String = new String; //creo una variable
function dime(){ //esta funcion deberia de dar el valor de responde
   if(web_mc){
      "Web"
   }else if(impresos_mc){
      "Impresos"
   }else if(fotografia_mc){
      "Fotografia"
   }else{
      "No"
   }
}
responde = dime(); //esto es obvio
seguidor.txtMenu.text = responde;//aqui pido la respuesta de la variable


Lo eh intentado con swich, oh directamente con if crear variables pero ninguna me da.
Espero alguien me pueda echar la mano. :zzz:

Por atonab

27 de clabLevel



Genero:Masculino  

Web Design & Productor

firefox
Citar            
MensajeEscrito el 25 Feb 2010 07:50 am
Buenas,

No se si te podré ayudar mucho porque soy muy novato con AS3, pero creo que la solución seria esta:

debes de poner una variable global, dile por ejemplo "valor",

en:
función mover{
...lo tuyo
valor=x //donde x sera el valor que quieras, utiliza un entero o string.
}

en:

funcion responde{
puedes utilizar switch o "if else if...."
en la "comparación" switch o del if tienes que hacer: (valor=lo_que_quieres) //así podrás saber si se refiere al MC que quieres.
}


A ver, yo lo veo muy logico (en almenos en otro lenguaje) pero como en AS3 soy muy novato, pues no se.
Naturalmente tampoco es el codigo mas eficiente, ya que se tienen que evitar simpre las variables globales, pero no te preocupes ;)


Espero que te sirva!

Saludos
}

Por mred

11 de clabLevel



 

chrome
Citar            
MensajeEscrito el 01 Mar 2010 11:42 am

Código ActionScript :

/*en pantalla tengo 4 movie clips
y ahora los agrego al evento mover*/
mcA.addEventListener(MouseEvent.MOUSE_OVER,mover);
mcB.addEventListener(MouseEvent.MOUSE_OVER,mover);
mcC.addEventListener(MouseEvent.MOUSE_OVER,mover);
/*3 movie clips A,B,C
estas instancias solo llevan la
funcion de ser la superficie por
la que se movera movie clip D*/
function mover(e:MouseEvent):void{ //este es el detector de movimiento para mcD
mcD.startDrag(); 
/*mcD ahora se tiene que empezar
a mover por encima del mouse
sobre los movie clip A,B,C*/
mcD.x = mouseX+(mcD.width/2)-13;
mcD.y = mouseY-(mcD.height/2);
mcD.alpha=1;
}
function nomover(e:MouseEvent):void{
mcD.stopDrag();
mcD.alpha=0;
}
mcA.addEventListener(MouseEvent.MOUSE_OUT,nomover);
mcB.addEventListener(MouseEvent.MOUSE_OUT,nomover);
mcC.addEventListener(MouseEvent.MOUSE_OUT,nomover);
/*aca hago invisible a mcD
y lo suelto al salir de
los movie clip A,B,C*/
/*supongo que aqui tengo
ya un problema; se tiene
que dejar de mover el mouse
para poder verse con
claridad mcD*/
/*Tambien lo que quiero es
que un campo de texto que
hablemos de el me responda
el nombre o algo de los movie
clips A,B,C */
/*es en este momento cuando
necesito hacer las variables
o pedir un dato que no se
como hacerlo*/

Por atonab

27 de clabLevel



Genero:Masculino  

Web Design & Productor

firefox
Citar            
MensajeEscrito el 01 Mar 2010 04:14 pm
una pregunta estas manejando paquetes o programas en la linea de tiempo

Por tuxianof

48 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Mar 2010 03:31 am
bueno no soy un maestro pero ago lo que pueda, disculpe si en los comentarios encuentra algo de errores de ortografía,
a y pues no soy buen diseñador solo programa, espero que le sirva la medio explicación
mi ejemplo de lo que entendi

Por tuxianof

48 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.