Comunidad de diseño web y desarrollo en internet online

this.onEnterFrame;

Citar            
MensajeEscrito el 17 Mar 2006 10:47 pm
hola a todos... tengo el siguiente problema, con ayuda de algunos tutoriales hice este codigo, lo que hace es cargar 2 SWF en una pelicula, pero no carga el 2º hasta que no se haya cargado todo el 1º, si?

el codigo:

Código:

Código :

clip_mc = createEmptyMovieClip("img1", 100);
clip_mc._x = 0;
clip_mc._y = 0;
clip_mc.loadMovie("img1.swf");
this.onEnterFrame = function() {
   trace(clip_mc.getBytesLoaded());
   if (clip_mc.getBytesLoaded() != 0 && clip_mc.getBytesLoaded() == clip_mc.getBytesTotal()) {
      clip2_mc = createEmptyMovieClip("img2", 99);
      clip2_mc._x = 0;
      clip2_mc._y = 0;
      clip2_mc.loadMovie("img2.swf");
      delete this.onEnterFrame;
   }
};

el problema surgio al querer poner otra pelicula mas, una 3º que no cargue hasta que la 2º no haya terminado.

se me ocurrio hacer asi:

Código:

Código :

clip_mc = createEmptyMovieClip("img1", 100);
clip_mc._x = 0;
clip_mc._y = 0;
clip_mc.loadMovie("img1.swf");
this.onEnterFrame = function() {
   trace(clip_mc.getBytesLoaded());
   if (clip_mc.getBytesLoaded() != 0 && clip_mc.getBytesLoaded() == clip_mc.getBytesTotal()) {
      clip2_mc = createEmptyMovieClip("img2", 99);
      clip2_mc._x = 0;
      clip2_mc._y = 0;
      clip2_mc.loadMovie("img2.swf");
      if (clip2_mc.getBytesLoaded() != 0 && clip2_mc.getBytesLoaded() == clip2_mc.getBytesTotal()) {
            clip3_mc = createEmptyMovieClip("img3", 98);
            clip3_mc._x = 0;
            clip3_mc._y = 0;
            clip3_mc.loadMovie("img3.swf");
            delete this.onEnterFrame;
      
   }
   }
};

y no funciona, se me ocurre que el problema esta en lo que marque en rojo el "delete this.onEnterFrame"

creo que el problema es el this (o la ruta que esta mal) pero probe con _parent con _root y nada funciona...

alguna idea o ayuda ???

gracias a todos

Por m_sassa

6 de clabLevel



 

msie
Citar            
MensajeEscrito el 18 Mar 2006 01:13 am
Si te fijas, justo antes del condicional para tu segundo clip, haces el loadMovie de él cierto? por lo tanto y dado que el EnterFrame sigue evaluando toda la expresión, pues siempre reinicia la carga del 2º clip y por lo tanto nunca la realiza.

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT

La Telaraña Digital

clabbrowser
Citar            
MensajeEscrito el 18 Mar 2006 01:58 am
Pues se me ocurre algo asi....

Código :

function loadElement(mc:MovieClip, file:String, objPos:Object):Void {
   mc.loadMovie(file);
   mc.attachMovie("loaderInterior", "loader", _root.getNextHighestDepth(), objPos);
   _root.tmpMc = mc;
   _root.interval = setInterval(this, "loadInterval", 10);
}
function loadInterval(Void):Void {
   porValue = Math.floor(_root.tmpMc.getBytesLoaded()/_root.tmpMc.getBytesTotal()*100);
   if (_root.tmpMc.getBytesTotal() == _root.tmpMc.getBytesLoaded()) {
      _root.loader.removeMovieClip();
      _root.tmpMc = "";
      porValue = "";
      moviesToLoad(_root.myMovieArray);
      clearInterval(_root.interval);
   }
}
function moviesToLoad(moviesArray:Array):Void{
   var obj:Object = new Object();
   obj = {_x:0, _y:0};
   if (moviesArray.length <> 0){
      loadElement(myTarget, moviesArray[0], obj);
      moviesArray.splice(0,0);
   }

}


Pues lo acabo de hacer asi que pueden haber cosas malas... cualquier cosa me dices...

Por bipsa

628 de clabLevel

1 tutorial
1 articulo

Genero:Masculino  

Colombia

firefox
Citar            
MensajeEscrito el 18 Mar 2006 10:09 am
de todas formas no me gusta la forma, veo demasiados niveles de anidación, casi mejor crea la función y después la utilizas pasandole parámetros, así ademas te ahorras programar cada vez que quieras añadir clips

Por Johnny

Claber

1589 de clabLevel

4 tutoriales

  Héroes

firefox
Citar            
MensajeEscrito el 18 Mar 2006 12:37 pm
Secundo la opinion de Johnny, deberias hacer una función de carga autonoma(osea que controle la carga completa y el tratamiento posterior "centrado, escalado, etc..") y llamarla las veces que sean necesarias para cargar todo, y si lo que quieres es que a menos que se cargue una, no empiece a cargar la siguiente, pues condicionar "esas llamadas" a la consución de la "funcio de carga" , no sé haz que esa función de carga completa devuelva un valor cuando acabe, y chekeala así ^^

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT

La Telaraña Digital

firefox
Citar            
MensajeEscrito el 18 Mar 2006 07:09 pm
bueno, muchas gracias por sus respuestas. Ahora mismo me pongo a probar.

les dejo un ejemplo de qué es lo que quiero hacer.

http://www.wgb-designer.com/galery/galeria2/index.htm

en esta pagina van arriba, al boton main menu, creamfield, y elijen una galeria cualquier y se van a dar cuenta de lo que quiero hacer.

un abrazo a todos. gracias

Por m_sassa

6 de clabLevel



 

msie

 

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