Preloading un tableau?

  • thegrrraue
  • Born
  • Born
  • No Avatar
  • Inscription: Fév 26, 2009
  • Messages: 3
  • Status: Offline

Message Février 26th, 2009, 8:10 pm

Ainsi Ive a obtenu une série d'images,

Code: [ Select ]
pixArray = ["Images/Architecture/Hospitality/01.jpg", "Images/Architecture/Mixed/01.jpg", "Images/Architecture/Office/01.jpg", "Images/Architecture/Performing/01.jpg"];


Elle fait partie d'un diaporama, le chargement d'une image, dans l'attente de 4 secondes, puis il charge un autre, etc etc Le problème est, entre chaque image, il doit charger.

Im essayant de trouver un moyen pour télécharger Flash pour garder de charger toutes les images dans le tableau jusqu'à ce theyre tous chargés, quelque chose à l'effet de:

sur la fin du chargement de l'image d'abord, commencer à charger la seconde image dans le tableau. À l'issue d'une charge, charge de la troisième image, etc, jusqu'à ce qu'il n'y ait plus. J'ai déjà une variable qui lui indique combien de points il existe ainsi:

Code: [ Select ]
var total:Number = 4;


Des idées?
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Février 26th, 2009, 8:10 pm

  • graphixboy
  • Control + Z
  • Mastermind
  • Avatar de l’utilisateur
  • Inscription: Juil 11, 2005
  • Messages: 1828
  • Loc: In the Great White North
  • Status: Offline

Message Février 26th, 2009, 11:11 pm

Utilisez le chargeur de classe MovieClip de charger les différents dossiers d'image. Dans le onComplete appeler pour chaque charge ont une fonction qui commence le chargement de la prochaine image dans la séquence (un conteneur de la scène et puis déplacer le conteneur à l'emplacement de la transition). Dans votre fonction, vous avez besoin de vérifier que les Img tableau est inférieur à la longueur (si la charge image suivante, sinon, mettre fin à la charge)
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
  • thegrrraue
  • Born
  • Born
  • No Avatar
  • Inscription: Fév 26, 2009
  • Messages: 3
  • Status: Offline

Message Février 27th, 2009, 2:22 am

Ok, donc je sais comment utiliser le chargeur de MovieClip, et je sais comment utiliser onComplete, mais ce que je ne sais pas, c'est comment l'obtenir pour appeler le prochain clip à charger. Je veux dire, à l'évidence qu'il pourrait être comme

Code: [ Select ]
var myMCL = new MovieClipLoader();
myMCL1.loadClip("Image1.jpg", backgroundLoader);

myMCL1.onComplete = function() {
myMCL2.loadClip("Image2.jpg", backgroundLoader);
}
  1. var myMCL = new MovieClipLoader();
  2. myMCL1.loadClip("Image1.jpg", backgroundLoader);
  3. myMCL1.onComplete = function() {
  4. myMCL2.loadClip("Image2.jpg", backgroundLoader);
  5. }


But thats alors sorte de bizarre parce que Im juste de codage de l'ensemble sur la main. Id avez à faire c'est juste pour chaque image individuelle.

J'ai comme 70 de ces tableaux dans des fichiers séparés, et il semble qu'il devrait y avoir quelque chose que je puisse mettre dans chacun d'eux, le même code, qui vérifierait combien il l'avait fait contre le «total» variable (qui Im pas entièrement savez pas comment faire non plus), et le dire à l'avance pour le chargement du point suivant de la matrice, quel qu'il mai être.

Does that make sense?
  • thegrrraue
  • Born
  • Born
  • No Avatar
  • Inscription: Fév 26, 2009
  • Messages: 3
  • Status: Offline

Message Février 28th, 2009, 2:52 am

Pour tous ceux qui trouve cela et a besoin d'une réponse:

Code: [ Select ]
var preClip:MovieClip;
var preLoader:MovieClipLoader;
var preListener:Object;
var preList:Array;

function preload( imageList:Array ):Void
{
    var depth:Number = _root.getNextHighestDepth();
    
    preClip = _root.createEmptyMovieClip( "preClip", depth );
    preLoader = new MovieClipLoader();
    preListener = {
        onLoadInit: onLoaderInit
    };
    preList = [].concat( imageList );
    
    preLoader.addListener( preListener );
    preLoader.loadClip( preList[ 0 ], preClip );
}

function onLoaderInit():Void
{
    preClip._visible = false;
    preList.shift();
    
    if( preList.length )
    {
        preLoader.loadClip( preList[ 0 ], preClip );
    }
    else
    {
        preClip.removeMovieClip();
        preLoader.removeListener( preListener );
        
        preClip = null;
        preLoader = null;
        preListener = null;
        preList = null;
    }
}

preload( pixArray );
  1. var preClip:MovieClip;
  2. var preLoader:MovieClipLoader;
  3. var preListener:Object;
  4. var preList:Array;
  5. function preload( imageList:Array ):Void
  6. {
  7.     var depth:Number = _root.getNextHighestDepth();
  8.     
  9.     preClip = _root.createEmptyMovieClip( "preClip", depth );
  10.     preLoader = new MovieClipLoader();
  11.     preListener = {
  12.         onLoadInit: onLoaderInit
  13.     };
  14.     preList = [].concat( imageList );
  15.     
  16.     preLoader.addListener( preListener );
  17.     preLoader.loadClip( preList[ 0 ], preClip );
  18. }
  19. function onLoaderInit():Void
  20. {
  21.     preClip._visible = false;
  22.     preList.shift();
  23.     
  24.     if( preList.length )
  25.     {
  26.         preLoader.loadClip( preList[ 0 ], preClip );
  27.     }
  28.     else
  29.     {
  30.         preClip.removeMovieClip();
  31.         preLoader.removeListener( preListener );
  32.         
  33.         preClip = null;
  34.         preLoader = null;
  35.         preListener = null;
  36.         preList = null;
  37.     }
  38. }
  39. preload( pixArray );

Afficher de l'information

  • Total des messages de ce sujet: 4 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 58 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC