El caso es que si no lo paras mediante el metodo lo que ocurre es que
siempre se estara ejecutando el onEnterFrame y gastara recursos en tu
aplicacion. Si son unos pocos clips lo que lo hacen y no hay ninguna otra
carga no importa pero como tengas algo mas complejo o sean muchos clips lo
que lo hacen la perdida de velocidad en tu pelicula flash sera notable.

un saludo

Joseba Alonso
www.sidedev.net
----- Original Message ----- 
From: "Ivan Rodriguez" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, October 28, 2003 3:19 PM
Subject: Re: [ASNativos] Detener un MC


> ei a sido mucho mas facil que eso, con un simple:
>
> MovieClip.prototype.iniciar = function() {
>     this.alpha    = 10;
>     this.x        = 3;
>  this.yvel     = -15;
>  this.gravedad = 3;
>  this.friccion = 0.96;
>  this.onEnterFrame = this.__frameLoop;
> }
>
> MovieClip.prototype.parar = function(){
>  delete this.onEnterFrame;
> }
>
> MovieClip.prototype.__frameLoop = function() {
>  this._alpha += (this.alpha - this._alpha)/4;
>  this._x     += (this.x = (this.x - this._x)/4); // aqui igualo la
operacion
> al resultado final y listo :)
>  this._width += (this.yvel = (this.yvel + this.gravedad) * this.friccion);
> }
>
> efecto.iniciar();
> efe.iniciar();
>
> Saludillos!!
>
> ----- Original Message -----
> From: "Ivan Rodriguez" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Monday, October 27, 2003 5:58 PM
> Subject: Re: [ASNativos] Detener un MC
>
>
> > Perdona jeje se me olvido comentarlo antes, parece facil extender los
> > objetos en Flsah no?� digamos que un MovieClip es un objeto no?� al cual
> se
> > le pueden a�adir nuevos metodos no?� si es asi esto del AS me gustara
:).
> >
> > Otra cosa, lo de antes funciona bien, pero claro, imagina que tengo tan
> solo
> > un frame, y quiero que el MC que e creado comience y se pare en el mismo
> > frame, es decir seria:
> >
> > efecto.iniciar();
> > efecto.parar();
> >
> > Pero si hago eso, no hace nada :-( y no quisiera usar botones para
activar
> > el efecto, ya que quiero que se haga cuando veo la pelicula, .... nose
si
> me
> > e explicado muy bien pero weno ... :-)
> >
> > Saludillos!!!
> >
> > ----- Original Message -----
> > From: "Joseba Alonso" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Monday, October 27, 2003 5:36 PM
> > Subject: Re: [ASNativos] Detener un MC
> >
> >
> > > El problema lo tienes por la forma en la que tienes de activar lo
> eventos.
> > > Te propongo otra solucion:
> > >
> > > <code>
> > >
> > > // clip_mc es la intancia sobre la que quieres el efecto.
> > > clip_mc.iniciar = function(){
> > >     this.alpha = 10;
> > >     this.x = 3;
> > >     this.onEnterFrame = this.__frameLoop;
> > > }
> > > clip_mc.parar = function(){
> > >     delete this.onEnterFrame;
> > > }
> > > clip_mc.__frameLoop = function(){
> > >  this._alpha += (this.alpha - this._alpha)/4;
> > >  this._x     += (this.x - this._x)/4;
> > >  this._width += (500 - this._width)/4;
> > >  if(this._x == 3) {
> > >   this._x += (this._x + 367);
> > >  }
> > > }
> > > </code>
> > >
> > > Basicamente se a�aden 3 metodos al clip en concreto:
> > >
> > > 1) iniciar():
> > > Iniciaria el efecto. Basicamente solo inicia las variables y asigna el
> > > evento onEnterFrame del clip al metodo frameLoop.
> > >
> > > 2)parar(): Pararia el efecto. Borra el evento onEnterFrame
> > >
> > > 3)__frameLoop(): Metodo privado que se usa para realizar el efecto.
Este
> > > metodo es asignado y borrado del evento por los metodos iniciar() y
> > parar().
> > >
> > > Luego para usarlo solo debes hacer clip.iniciar() o clip.parar(). Es
una
> > > aproximacion mas OO que usar onClipEvent. Y te permite hacer cosas
como
> > > asignar dinamicamente un evento. Cuando utilizas onClipEvent no tienes
> > > manera de sustituir el codigo asignado al evento. Como mucho podras
> meter
> > > una condicional y ejecutar codigo o no, pero el onEnterFrame siempre
se
> > > ejecutara. Si lo haces utilizando el sistema de callbacks
> > (clip.onEnterFrame
> > > = funcion) podras eliminar el evento cuando quieras y liberar el
tiempo
> de
> > > proceso que requieren. Si adem�s quieres que esta funcionalidad la
> tengan
> > > todos los movieclips solo tienes que definirlo en el prototype
(cambiar
> > > 'clip_mc' por 'MovieClip.prototype' en el codigo de arriba)
> > >
> > > un saludo
> > >
> > > Joseba Alonso
> > > www.sidedev.net
> > >
> > >
> > > ----- Original Message -----
> > > From: "Ivan Rodriguez" <[EMAIL PROTECTED]>
> > > To: <[EMAIL PROTECTED]>
> > > Sent: Monday, October 27, 2003 4:11 PM
> > > Subject: [ASNativos] Detener un MC
> > >
> > >
> > > Buenas, tenog el sigueinte codigo asociado  a un MC:
> > >
> > > onClipEvent(load) {
> > >  alpha = 10;
> > >  x      = 3;
> > > }
> > > onClipEvent(enterFrame) {
> > >  _alpha += (alpha - _alpha)/4;
> > >  _x     += (x - _x)/4;
> > >  _width += (500 - _width)/4;
> > >  if(_x == 3) {
> > >   _x += (_x + 367);
> > >  }
> > > }
> > >
> > > El caso es que quiero que tan solo se realize una vez el efecto, y no
> cada
> > > vez que llege al final, no hay algo como exit; o break; .... para
> > pararlo?�
> > > por que con this.stop() no me funciona :-(
> > >
> > > Muchas gracias
> > >
> > > Iv�n Rodriguez Espada
> > > _________________________
> > > ALAPLAYA.COM
> > > http://www.alaplaya.com
> > > [EMAIL PROTECTED]
> > > <!-------------------------------
> > > 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
> -------------------------------->

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

Responder a