Comunidad de diseño web y desarrollo en internet online

No puedo reutilizar una variable!!!

Citar            
MensajeEscrito el 28 Dic 2008 09:27 pm
Para empezar quiero enviar saludos a toda la comunidad que en diferentes ocaciones me ha sacado de algun problema. ^^ ^^
Esta ves necesito ayuda con as3, y es que acado de empezar a meter la nariz en este tema. Pues este es el problema:
quize hacer una "emulacion" del clasico rollOver y rollOut de as2, apoyandome en una matriz y un forEach para contarlos y asignarles nombre y los eventos del teclado

Código :

stop();

var seccion:Array =new Array ();
seccion[0]="Nosotros ";
seccion[1]="Servicios";
seccion[2]="Clientes";
seccion[3]="Portafolio";
seccion[4]="Contacto";


function escribe(item:*, index:int, array:Array):void{
   
   this["bot" + index].tit.text = item;
   this["bot" + index].buttonMode = true;
   this["bot" + index].mouseChildren = false;
   this["bot" + index].addEventListener(MouseEvent.MOUSE_OVER, function (event:MouseEvent):void {
   
   var numero:String = index.toString();
   
   this["bot" + numero].gotoAndPlay("corre");
   
   });

}

seccion.forEach(escribe);


todo iba perfecto hasta que me tope con el problema de que no puedo hacerle saber al codigo cual es el boton al que debe hacerle el gotoAndPlay, seguramente el problema es algo muy facil, pero enserio no lo encuentro!!! :oops: :twisted:

De antemano les agradesco el tiempo y nuevamente saludos al toda la comunidad.

Por adriano

1 de clabLevel



 

México

firefox
Citar            
MensajeEscrito el 29 Dic 2008 10:19 am
Es una manera bastante curiosa de tratar los botones .... anyway, el tema es que el index está fuera del scope del botón, a menos que hicieras algo así:

Código ActionScript :

this["bot" + index].index = index
this["bot" + index].addEventListener(MouseEvent.MOUSE_OVER, function (event:MouseEvent):void {
   var numero:String = this.index.toString();
   this["bot" + numero].gotoAndPlay("corre");
}


Aunque claro, bastante mas fácil sería

Código ActionScript :

this["bot" + index].addEventListener(MouseEvent.MOUSE_OVER, function (event:MouseEvent):void {
   this.gotoAndPlay("corre");
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 Dic 2008 09:53 pm
Siento mucho reincidir men :oops: pero sigue igual. Me da el mismo de error de antes, con las dos soluciones que me propones:

Código :

TypeError: Error #1010: Un término no está definido y no tiene propiedades.
   at MethodInfo-1()


estoy un poco a punto de darle una patada al la compu :lol: :P solo como comentario no son botones sino MC`S pero supongo que eso no es tan reelevante no?

Por adriano

1 de clabLevel



 

México

firefox
Citar            
MensajeEscrito el 29 Dic 2008 10:02 pm
Ok, pasa al modo normal entonces

Código ActionScript :

this["bot" + index].addEventListener(MouseEvent.MOUSE_OVER, mueve)
private function mueve(evt:MouseEvent){ 
   MovieClip(evt.target).gotoAndPlay("corre"); 
} 


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 Dic 2008 10:45 pm
Genial men! funciona barbaro! :D Muchas gracias

Pero que quieres decir con eso del modo normal????? :P

Por adriano

1 de clabLevel



 

México

firefox
Citar            
MensajeEscrito el 29 Dic 2008 10:55 pm
Que usar una función anónima en un addEventListener era una práctica de AS2

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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