2009-12-23 8 views
0

J'essaye de surveiller la progression d'un scroller d'image que j'ai construit et toutes les images (les pouces) chargent séparément. Quel serait le meilleur moyen de déterminer quelle est la progression totale des images en cours de chargement?Chargeur pour les fonctions?

Je pensais que ce serait cool d'utiliser un chargeur générique et l'appliquer à une fonction telle que

myScroller.loadImages(); 

Mais je ne l'ai pas vu des exemples. Je suis tombé sur this thread:

mais je ne suis pas sûr si cela résout vraiment le problème que je suis confronté ou non.

Merci pour toute idée ou expertise. JML

Répondre

1

Hé là, je pencher vers le 3e. option mentionnée par maxmc. J'aurais un XML avec l'info. de toutes les images que je veux charger (par exemple, nom, taille, etc.); De cette façon, je saurai à l'avance combien d'images vont être chargées, si je veux mesurer le progrès global basé sur le nombre d'images restantes, mais aussi le nombre total d'octets que je dois charger au cas où je veux surveiller les progrès globaux en termes d'octets restants à charger.

Ce fichier XML pourrait bien sûr être créé à la demande; vous avez juste besoin de créer un script qui obtient, à partir de Flash, le dossier ou l'emplacement dont vous voulez charger les images, ainsi il les lit, obtient les informations nécessaires sur les images et retourne pour afficher le résultat en XML afin qu'il puisse continuer le processus de chargement d'images.

1

le problème est que vous ne connaissez la taille d'une image si vous commencez à le charger alors il y a trois options je suppose:

1) commencer à charger chacun de l'image et arrêter immédiatement après que vous obtenez le Taille. l'inconvénient est que vous doublez les demandes. 2) lorsque vous commencez à charger la première image, multipliez la taille par le nombre d'images. inconvénient est que cela est imprécis. 3) Si vous définissez les images quelque part en dehors de votre application par exemple dans un fichier XML, vous pouvez ajouter une sorte d'attribut de taille de fichier et lorsque vous compilez votre application injecter les tailles via une tâche de fourmis dans le XML.

Je suis en faveur de l'option 3.

+0

J'aime aussi l'option 3, mais j'avais une question: je ne sais rien du travail d'apache et je n'ai pas vérifié que mon site fonctionne réellement sur un serveur apache. J'ai vu ceci: http://stackoverflow.com/questions/312652/how-to-use-of-file-inside-ant-target qui semble prometteur ... mais je crée le xml à la volée avec un script php déjà ... il regarde le répertoire et sort les noms de fichiers, remplissant les balises avec quelques attributs. Je ne sais pas comment j'intégrerais les deux. – jml

+0

comme Falomir déjà dit, vous avez tout à portée de main avec votre script PHP. il suffit de calculer les informations nécessaires dans votre script php et l'ajouter à votre xml (à la volée bien sûr) – maxmc

1

Selon l'échelle de votre application, vous pouvez regarder dans la bibliothèque bulkloader. Ce n'est pas vraiment léger, environ 16ko, je pense, mais si vous chargez pas mal d'images, cela ne devrait pas avoir trop d'impact. Consultez le site pour obtenir des instructions détaillées, mais vous faites quelque chose comme ceci:

private var $loader : Bulkloader = new BulkLoader("ExampleLoader"); 

private function startLoad() : void 
{ 
    $loader.add("image1.jpg", { id : "image1", type : "image" }); 
    $loader.add("image2.jpg", { id : "image2", type : "image" }); 
    $loader.add("image3.jpg", { id : "image3", type : "image" }); 

    $loader.addEventListener(BulkLoaderEvent.COMPLETE, loadComplete) 
    $loader.start(); 
} 

private function loadComplete(e : BulkLoader) : void 
{ 
    var thumbNail : ThumbNail = new ThumbNail($loader.getBitmap("image1")); 
} 

Je ne sais pas si c'est tout à fait exact, mais vous devriez obtenir l'idée.

Rich

Questions connexes