Comunidad de diseño web y desarrollo en internet online

reutilizar funciones en actionscript??

Citar            
MensajeEscrito el 10 Feb 2006 05:26 pm
pues el caso es el siguiente, tengo 5 botones a los que les quiero hacer el efecto fade-in fade-out, y por tanto todos necesitan de un código, por ejemplo, el primer boton sería:

Código :

mc_home.onRollOver=function(){
      this.mc_animacion.onEnterFrame = function () {
            if (this._currentframe != 10) {
               this.nextFrame();
            }else {
               this.stop();
               delete this["onEnterFrame"];
            }
      };
}
mc_home.onRollOut=function(){
      this.mc_animacion.onEnterFrame = function () {
            if (this._currentframe != 1) {
               this.prevFrame();
            }else {
               this.stop();
               delete this["onEnterFrame"];
                }
        };

}


y los otros cuatro tendrían el mismo código, pero cambiando el nombre, en vez de "mc_home" pues podria ser "mc_perfil" por ejemplo.
La pregunta es si se puede definir la funcion con un nombre y despues reutilizarla, haciendo algo así...

Código :

/*definicion*/
funcion nombre_de_la_funcion(){
blabla...
}
/*llamada para utilizacion*/
mc_home.onPress=function(nombre_de_la_funcion);


Bueno, no sé si me he explicado muy bien, supongo que se podrá hacer, pero ahora mismo no sé como. A ver si alguien me hecha una manita...

Por Johnny

Claber

1589 de clabLevel

4 tutoriales

  Héroes

firefox
Citar            
MensajeEscrito el 10 Feb 2006 05:40 pm
Puedes hacer esto:

Código :

function outAndOver(MCs:Array) {
   for (var i = 0; i<MCs.length; i++) {
      this[MCs[i]].onRollOver = function() {
         this.mc_animacion.onEnterFrame = function() {
            if (this._currentframe != 10) {
               this.nextFrame();
            } else {
               this.stop();
               delete this["onEnterFrame"];
            }
         };
      };
      this[MCs[i]].onRollOut = function() {
         this.mc_animacion.onEnterFrame = function() {
            if (this._currentframe != 1) {
               this.prevFrame();
            } else {
               this.stop();
               delete this["onEnterFrame"];
            }
         };
      };
   }
}
outAndOver(new Array("mc_home", "mc_info", "mc_cred"));


espero que te sirva....:wink:

Por Altrix

156 de clabLevel



 

Cuba, Ciudad de la Habana

firefox
Citar            
MensajeEscrito el 10 Feb 2006 05:51 pm
se hace así:

Código :

function nombreDeFuncion(parametros_si_los_hay){
     algoQueHacer
};
1_mc.onPress = nombreDeFuncion(parametros_si_los_hay);
2_mc.onPress = nombreDeFuncion(parametros_si_los_hay);
3_mc.onPress = nombreDeFuncion(parametros_si_los_hay);
n_mc.onPress = nombreDeFuncion(parametros_si_los_hay);


si no tienes parámetros que pasarle a la función simplemente deja los paréntesis en blanco ()
Espero que te sirva. Suerte

Por el_itur

142 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 10 Feb 2006 06:03 pm

el_itur escribió:

se hace así:

Código :

function nombreDeFuncion(parametros_si_los_hay){
     algoQueHacer
};
1_mc.onPress = nombreDeFuncion(parametros_si_los_hay);
2_mc.onPress = nombreDeFuncion(parametros_si_los_hay);
3_mc.onPress = nombreDeFuncion(parametros_si_los_hay);
n_mc.onPress = nombreDeFuncion(parametros_si_los_hay);


si no tienes parámetros que pasarle a la función simplemente deja los paréntesis en blanco ()


NO se hace así........, pq si haces esto:

Código :

1_mc.onPress = nombreDeFuncion();
lo que hace es llamar a la función para asignarla se hace así:

Código :

1_mc.onPress = nombreDeFuncion;
sin paréntesis.....ok??

Por Altrix

156 de clabLevel



 

Cuba, Ciudad de la Habana

firefox
Citar            
MensajeEscrito el 10 Feb 2006 07:08 pm
Perfecto!! muchas gracias por la ayuda, así queda un poco más optimizado. Es que sólo ver que el mismo código se repite unas cuantas veces ya me da coraje...
Editado:(acabo de reducir el código en 80 lineas...)

Por Johnny

Claber

1589 de clabLevel

4 tutoriales

  Héroes

firefox

 

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