Xavi,
me estas siendo de gran ayuda, he adaptado tu c�digo a la base de mi idea
original.
La base por que por ahora mueve el cabezal fotograma a fotograma. Una ves
que me expliques un par de detalles implementar� las ecuaciones de Robert
Penner para cambiar la aceleraci�n de reproducci�n.
Bueno este es el c�digo con dos m�todos , avanzar y retroceder:
<code>

_global.controlCabecera = function(contenedor) {
  this.ref_mc = contenedor.createEmptyMovieClip("controlCabecera_MC",999);
 this.ref_mc.contenedor = contenedor;
 this.ref_mc.controlador = this;
 this.contenedor = contenedor;
}

controlCabecera.prototype = new Object();

controlCabecera.prototype.retroceder = function() {
 this.ref_mc.onEnterFrame =function(){
 var current = parseInt(this.contenedor._currentframe);
 if(current>1) {
  this.contenedor.prevFrame();
 }else{
  this.controlador.__end.call(this);
 }
}
}

controlCabecera.prototype.avanzar = function() {
 var total = parseInt(this.contenedor._totalframes);
  this.ref_mc.onEnterFrame =function(){
 var current = parseInt(this.contenedor._currentframe);
 if(current<total) {
  this.contenedor.nextFrame();
 }else{
  this.controlador.__end.call(this);//aqu� llamas al m�todo que detiene el
onEnterFRame, pero para que utilizas el '.call(this)'
 }
}
}

controlCabecera.prototype.__end = function() {
 delete this.onEnterFrame;
 this.controlador.onStop.call(this.contenedor);//aqu� tampoco entiendo por
que pones esta frace, se supone que si detienes el onEnterFrame el cabezal
tambi�n se detiene
//� no?.
}


</code>
Me parece que esta forma de manejar el c�digo es la mas coherente , 1�
declaramos una funci�n en global para acceder a ella de cualquier parte,
luego la prototipamos como un nuevo objeto (controlCabecera.prototype = new
Object();) y a partir de este momento controlCabecera es un objeto al cual
le podemos a�adir m�todos, como avanzar() y retroceder().
Tengo otra duda , � no ser�a mas censillo declarar el 'delete
this.onEnterFrame;' dentro de los m�todos avanzar y retroceder. En este caso
� para que otro m�todo ?.
Bueno espero no aburriros demasiado con este tema pero creo que mis dudas
pueden ser �tiles a mas de uno.
Gracias de ante mano a toda la comunidad de esta lista, de la cual estoy
orgulloso de pertenecer.

Rafael
www.fabricanet.com


----- Original Message -----
From: "Xavi Beumala" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, December 16, 2003 8:40 PM
Subject: RE: [ASNativos] problemas con crear duplicados


> La explicaci�n est� en: http://www.code4net.com/archives/000048.html
> La descarga directa de la clase + .fla de ejemplo en:
> http://www.code4net.com/downloads/controlCabecera.rar
>
>
> Espero que te ayuda :-)
> Xavi
> http://www.code4net.com
>
> > -----Mensaje original-----
> > De: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] En nombre de [EMAIL PROTECTED]
> > Enviado el: martes, 16 de diciembre de 2003 15:32
> > Para: [EMAIL PROTECTED]
> > Asunto: Re: [ASNativos] problemas con crear duplicados
> >
> >
> > Hola,
> > hace unos d�as escrib� una clase para controlar los
> > desplazamientos por la l�nea de tiempo. No creo que te cuesto
> > mucho adaptarla con las ecuaciones de R.Penner:
> >
> > http://www.code4net.com/archives/000048.html
> >
> > Saludos,
> > Xavi
> >
> > > Hola lista,
> > > Bueno os explico de que va la cosa:
> > > La idea es crear dos funciones para controlar las lineas de
> > tiempo de
> > > los MC, cosa que est� solucionada con:
> > > MC.gotoandStop(MC._currentfotogram+1)
> > > y
> > > MC.gotoandStop(MC._currentfotogram-1) cada una de ellas en
> > un onEnterFrame
> > > y
> > > listo.
> > > Pero esto nos mueve la linea de tiempo de forma lineal sin
> > control sobre
> > > la
> > > aceleraci�n. Valiendome de una de las ecuaciones de Robert Penner he
> > > puesto
> > > lo siguiente:
> > >
> > > Math.easeInOutCubic = function(t, b, c, d) {  //esta es la
> > ecuaci�n  t
> > > /= d/2;  if (t<1) {
> > >   return c/2*t*t*t+b;
> > >  }
> > >  t -= 2;
> > >  return c/2*(t*t*t+2)+b;
> > > };
> > >
> > > function adelante() {
> > >  b = 1;
> > >  c = this._totalframes;
> > >  d = 30;
> > >  t = 0;
> > >  this.createEmptyMovieClip("control", 1000);
> > > this.control.onEnterFrame = function() {
> > >   if (t<d) {
> > >    aceleracion = Math.ceil(Math.easeInOutCubic(t, b, c, d));
> > >    t++;
> > >    this._parent.gotoAndStop(aceleracion);
> > >    trace(this._parent._currentframe);
> > >   } else {
> > >    this.removeMovieClip();
> > >    trace("si");
> > >   }
> > >  };
> > > }
> > >
> > >
> > > function atras() {
> > >  b = this._totalframes;
> > >  c = 1;
> > >  d = 30;
> > >  t = 0;
> > >  this.createEmptyMovieClip("control", 1000);
> > >  trace(control)  // ==========================>>>>// ESTE ES EL
> > > PROBLEMA QUE LA INSTANCIA APARECE COMO "UNDEFINED" en el momento
> > > //que ejecutamos esta funci�n despues de la primera.
> > >
> > > // � ALGUNA IDEA COMO PLANTERA ESTO MEJOR ?
> > this.control.onEnterFrame
> > > = function() {
> > >   if (t<d) {
> > >    aceleracion = Math.ceil(Math.easeInOutCubic(t, b, c, d));
> > >    t++;
> > >    this._parent.gotoAndStop(aceleracion);
> > >    trace(this._parent._currentframe);
> > >   } else {
> > >    this.removeMovieClip();
> > >    trace("si");
> > >   }
> > >  };
> > > }
> > > ba.onRelease = function() {
> > >  adelante.apply(c);
> > > };
> > > bb.onRelease = function() {
> > >  atras.apply(c);
> > > };
> > > //APARTE DE PODER SOLUCIONAR LA CREACI�N DEL MC "CONTROL" �
> > HAY ALGUNA
> > > MANERA MAS PRACTICA DE PLANTEAR ESTAS FUNCIONES? Lo que
> > quiero decir
> > > que quizas si fueran m�todos del propio MC  o una clase
> > > aparte funcione mejor.
> > > Es aqui donde me encuentro y os pido ayuda.
> > > Muchas gracias
> > > Rafael
> > > www.fabricanet.com
> > >
> > >
> > >
> > > <!-------------------------------
> > > Lista ASNativos:
> > > subscripciones/desubscripciones http://www.sidedev.net/asnativos
> > > -------------------------------->
> > >
> >
> > <!-------------------------------
> > Lista ASNativos:
> > subscripciones/desubscripciones
> > http://www.sidedev.net/asnativos
> > -------------------------------->
> >
>
> <!-------------------------------
> Lista ASNativos:
> subscripciones/desubscripciones
> http://www.sidedev.net/asnativos
> -------------------------------->
>
>


<!-------------------------------
Lista ASNativos:
subscripciones/desubscripciones
http://www.sidedev.net/asnativos
-------------------------------->

Responder a