ayuda con mi preloader

  • yessir
  • Born
  • Born
  • No Avatar
  • Registrado: Ene 02, 2008
  • Mensajes: 1
  • Status: Offline

Nota Enero 2nd, 2008, 11:47 am

Tengo un proyecto donde tenemos cerca de 6 archivos SWF (cada uno alrededor de 500 KB-3.32Mb) necesarios para reproducir uno tras otro, y para evitar cualquier tiempo de carga.

Mi pregunta es, ¿hay una forma de cargar un archivo SWF en segundo plano mientras se está jugando?

Aquí está un ejemplo.

archivos: Intro.swf, ny.swf, dc.swf, retail.swf, mart.swf, development.swf

Lo que me gustaría que suceda es sólo la carga Intro.swf inicialmente, y jugar ese archivo,
entonces, mientras que los archivos se está reproduciendo, NY carga. swf en el fondo por lo que estará listo para jugar sin problemas después de haber hecho Intro.swf.

entonces, mientras ny.swf está jugando, hemos de carga dc.swf en el fondo, y el juego después de haber hecho ny.swf de juego.

¿Hay una manera de lograr esto?

Gracias por cualquier ayuda.

Código: [ Select ]
// preloader script
var allBytesTotal:Number;
var allBytesLoaded:Number;
_global.whichClip = 0;
_global.clipsCompleted = false;

top_layer._visible = false;
var ClipFlag:Array = Array(6);

// number of clips were loading to keep the flags ..
//used to make sure we just load up the bytes once

this.createEmptyMovieClip("img_mc1", 999);
this.createEmptyMovieClip("img_mc2", this.getNextHighestDepth());
this.createEmptyMovieClip("img_mc3", this.getNextHighestDepth());
this.createEmptyMovieClip("img_mc4", this.getNextHighestDepth());
this.createEmptyMovieClip("img_mc5", this.getNextHighestDepth());
this.createEmptyMovieClip("img_mc6", this.getNextHighestDepth());

var my_mcl:MovieClipLoader = new MovieClipLoader();
var my_mc2:MovieClipLoader = new MovieClipLoader();
var my_mc3:MovieClipLoader = new MovieClipLoader();
var my_mc4:MovieClipLoader = new MovieClipLoader();
var my_mc5:MovieClipLoader = new MovieClipLoader();
var my_mc6:MovieClipLoader = new MovieClipLoader();

_global.numOfClips = 6;

// Create listener object:
var mclListener:Object = new Object();
mclListener.onLoadError = function(target_mc:MovieClip, errorCode:String, status:Number) {
 trace("Error loading image: " + errorCode + " [" + status + "]");
};

mclListener.onLoadStart = function(target_mc:MovieClip):Void { 
target_mc._visible = false;
};


mclListener.onLoadProgress = function(target_mc:MovieClip, numBytesLoaded:Number, numBytesTotal:Number):Void {
  var numPercentLoaded:Number = numBytesLoaded / numBytesTotal * 100;
    target_mc._visible = false;

};

mclListener.onLoadComplete = function(target_mc:MovieClip, status:Number):Void {
trace("onLoadComplete: " + target_mc);
_global.whichClip++;
  
      if (target_mc == img_mc1) {
         _root.loadMovie("intro.swf");
        }

    if (_global.whichClip == _global.numOfClips) {
        trace("ok..");
        target_mc._visible = false;
        trace("ok..");
        _global.clipsCompleted = true;
    }
};

my_mcl.addListener(mclListener);
my_mc2.addListener(mclListener);
my_mc3.addListener(mclListener);
my_mc4.addListener(mclListener);
my_mc5.addListener(mclListener);
my_mc6.addListener(mclListener);

my_mcl.loadClip("intro.swf", img_mc1);
my_mc2.loadClip("ny.swf", img_mc2);
my_mc3.loadClip("dc.swf", img_mc3);
my_mc4.loadClip("retail.swf", img_mc4);
my_mc5.loadClip("mart.swf", img_mc5);
my_mc6.loadClip("development.swf", img_mc6);

onEnterFrame = function(){
    if(_global.clipsCompleted) {
    trace ("ok");
    }
}


this.stop();
stop();
  1. // preloader script
  2. var allBytesTotal:Number;
  3. var allBytesLoaded:Number;
  4. _global.whichClip = 0;
  5. _global.clipsCompleted = false;
  6. top_layer._visible = false;
  7. var ClipFlag:Array = Array(6);
  8. // number of clips were loading to keep the flags ..
  9. //used to make sure we just load up the bytes once
  10. this.createEmptyMovieClip("img_mc1", 999);
  11. this.createEmptyMovieClip("img_mc2", this.getNextHighestDepth());
  12. this.createEmptyMovieClip("img_mc3", this.getNextHighestDepth());
  13. this.createEmptyMovieClip("img_mc4", this.getNextHighestDepth());
  14. this.createEmptyMovieClip("img_mc5", this.getNextHighestDepth());
  15. this.createEmptyMovieClip("img_mc6", this.getNextHighestDepth());
  16. var my_mcl:MovieClipLoader = new MovieClipLoader();
  17. var my_mc2:MovieClipLoader = new MovieClipLoader();
  18. var my_mc3:MovieClipLoader = new MovieClipLoader();
  19. var my_mc4:MovieClipLoader = new MovieClipLoader();
  20. var my_mc5:MovieClipLoader = new MovieClipLoader();
  21. var my_mc6:MovieClipLoader = new MovieClipLoader();
  22. _global.numOfClips = 6;
  23. // Create listener object:
  24. var mclListener:Object = new Object();
  25. mclListener.onLoadError = function(target_mc:MovieClip, errorCode:String, status:Number) {
  26.  trace("Error loading image: " + errorCode + " [" + status + "]");
  27. };
  28. mclListener.onLoadStart = function(target_mc:MovieClip):Void { 
  29. target_mc._visible = false;
  30. };
  31. mclListener.onLoadProgress = function(target_mc:MovieClip, numBytesLoaded:Number, numBytesTotal:Number):Void {
  32.   var numPercentLoaded:Number = numBytesLoaded / numBytesTotal * 100;
  33.     target_mc._visible = false;
  34. };
  35. mclListener.onLoadComplete = function(target_mc:MovieClip, status:Number):Void {
  36. trace("onLoadComplete: " + target_mc);
  37. _global.whichClip++;
  38.   
  39.       if (target_mc == img_mc1) {
  40.          _root.loadMovie("intro.swf");
  41.         }
  42.     if (_global.whichClip == _global.numOfClips) {
  43.         trace("ok..");
  44.         target_mc._visible = false;
  45.         trace("ok..");
  46.         _global.clipsCompleted = true;
  47.     }
  48. };
  49. my_mcl.addListener(mclListener);
  50. my_mc2.addListener(mclListener);
  51. my_mc3.addListener(mclListener);
  52. my_mc4.addListener(mclListener);
  53. my_mc5.addListener(mclListener);
  54. my_mc6.addListener(mclListener);
  55. my_mcl.loadClip("intro.swf", img_mc1);
  56. my_mc2.loadClip("ny.swf", img_mc2);
  57. my_mc3.loadClip("dc.swf", img_mc3);
  58. my_mc4.loadClip("retail.swf", img_mc4);
  59. my_mc5.loadClip("mart.swf", img_mc5);
  60. my_mc6.loadClip("development.swf", img_mc6);
  61. onEnterFrame = function(){
  62.     if(_global.clipsCompleted) {
  63.     trace ("ok");
  64.     }
  65. }
  66. this.stop();
  67. stop();
[/ code]
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Enero 2nd, 2008, 11:47 am

  • graphixboy
  • Control + Z
  • Mastermind
  • Avatar de Usuario
  • Registrado: Jul 11, 2005
  • Mensajes: 1828
  • Loc: In the Great White North
  • Status: Offline

Nota Enero 2nd, 2008, 4:59 pm

tan pronto como cargar un swf es en caché incluso si no presenta en el escenario. La manera más sencilla de hacer lo que quieres es simplemente tener un contenedor frente a la etapa que le carga el clip en el próximo. No se puede ver que en el escenario mientras que el otro clip de cargas, pero usted será capaz de acceder a él rápidamente, porque en su caché para el momento en que lo necesita.

Creo recordar que deposita otro truco que en realidad no carga el contenido de la etapa, pero no puedo parecen encontrar en este momento. Es una especie de loadMovie cortar. Tal vez alguien más sabe qué Im hablando.
If at first you don't succeed F1... If that doesn't work try Google!
//// Designer, Developer & Teacher - Interactive, Motion and 3D \\\\
Portfolio at WhenImNotSleeping.com

Publicar Información

  • Total de mensajes en este tema: 2 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 54 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC