Comunidad de diseño web y desarrollo en internet online

protitipos como clases?

Citar            
MensajeEscrito el 13 Feb 2008 03:27 pm
hola a tod@s.
mi duda es la siguiente:
yo puedo hacer un protitipo que haga esto:

Código :

MovieClip.prototype.elementos = function() {
   this.onPress = function() {
      this.startDrag(false);
   }
   this.onRelease = function() {
      this.stopDrag();
      hola();
   }
   this.onReleaseOutside = function() {
      ordenarElemento(this);
   }
   function hola() {
      trace("hola");
   }
}


pero y si ahora quiero llamar a la funcion hola() en un momento determinado no planeado dentro del prototipo?

si un prototipo fuera una clase, se podria hacer elemento1.hola(); habiendo asignado el prototipo elementos() a elemento... pero como hago eso en AS2 sin tener que recurrir a una clase implementada en un *.as incluido desde mi *.fla???
se puede?

muchas gracias de antemano
atentamente
maije

Por maije

Claber

104 de clabLevel



Genero:Masculino  

Valladolid

firefox
Citar            
MensajeEscrito el 14 Feb 2008 02:52 am

Código :

MovieClip.prototype.elementos = function(a) {
   if(a=="hola")hola();
    if(a=="adios")adios();
    if(a==3)truco();
    if(a)return;
    
    trace(" ejecutando función");
    
   function hola() {trace("hola");}
    function adios() {trace("adios");}
    function truco() {trace("este es mi truco");} 
}

// llamadas:
//elementos();             //  Salida: ejecutando función
//elementos("hola")        //  Salida: hola
//this.elementos("adios"") //  Salida: adios
this.elementos(3);         //  Salida: este es mi truco

Por Teseo

SWAT Team

1780 de clabLevel

14 tutoriales

Genero:Masculino   SWAT

firefox
Citar            
MensajeEscrito el 14 Feb 2008 05:46 pm
Pregunto... necesariamente tendría que pasar por todo el prototipo para llamar una función que se encuentra en él o se puede ingresar a la función y seleccionar solo lo que necesito?
:?
ejemplo: miMovie.elementos() { funcion uno().} // suponiendo
gracias!!!

Por vcomics

217 de clabLevel



 

Medellin - Colombia

firefox
Citar            
MensajeEscrito el 16 Feb 2008 08:22 pm
muchas gracias teseo
es un apañito que tiene buena pinta

Por maije

Claber

104 de clabLevel



Genero:Masculino  

Valladolid

firefox
Citar            
MensajeEscrito el 16 Feb 2008 09:57 pm
se puede hacer también así:

Código :

createEmptyMovieClip("mc", 0);
MovieClip.prototype.mifuncion = function(){
   trace("ejecutando funcion");
   this.interna = function() {
      trace(" ejecutando funcion interna ");
   }
   this.interna2 = function(valor) {
      trace(" ejecutando funcion interna numero 2 con valor " +valor);
   }
}
mc.mifuncion();  //ejecutando funcion
mc.interna2(4);  //ejecutando funcion interna numero 2 con valor 4
mc.interna();   // ejecutando funcion interna;


Lo que pasa es que necesita hacerse al menos una llamada previa para que funcionen las interiores directamente.

Por Teseo

SWAT Team

1780 de clabLevel

14 tutoriales

Genero:Masculino   SWAT

firefox

 

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