2010-01-07 6 views
1

Puis-je ajouter un écouteur ProgressEvent à la scène? Je ne le vois dans aucune des options d'auto-complétion lorsque je tape Flex. Que font normalement les gens pour obtenir une lecture de progression de la progression du chargement de l'ensemble du coureur principal?AS3: Listener principal pour ProgressEvent?

J'essayez ce qui suit, ce qui est là que je me attends à voir les options de ProgressEvent pop-up:

stage.addEventListener(

Merci ...

Répondre

3

Essayez d'ajouter à loaderInfo.

alt text

quelque chose comme:

this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler); 

De plus, si vous utilisez le cadre, vous devriez probablement étendre le DownloadProgressBar. Je me souviens de this old tutorial, mais sûrement il doit y avoir beaucoup en ligne.

+0

J'aurais dû mentionner que j'essayais de garder ce projet AS seulement. Je vais regarder dans les options avec loaderInfo. Dans ce cas, la méthode AS3 préférée consiste-t-elle toujours à utiliser un conteneur de chargement SWF principal qui charge votre fichier SWF principal de l'application après l'avoir compilé? – jml

+1

pas de cadre flexible? alors c'est loaderInfo si vous voulez écouter la progression du swf principal, et containerLoaderInfo pour un objet Loader –

+0

Great; Merci pour l'aide. – jml

1

J'ai un nouveau problème:

J'utilise le code suivant pour montrer la progression du téléchargement de contenu de mon site:

public function mainProgress(e:ProgressEvent):void 
    { 
     var w:Number = e.bytesLoaded/e.bytesTotal; 
     _mainprog.graphics.clear(); 
     _mainprog.graphics.beginFill(0x000000); 
     _mainprog.graphics.drawRect(0, 0, w * stage.stageWidth, 50); 
     _mainprog.graphics.endFill(); 
    } 

Mais il ne semble pas fonctionner. Ce qui se passe, c'est que l'objet loaderInfo pense que le site a chargé avant que je ne sois prêt à afficher quoi que ce soit. Ce qui finit par arriver (je pense) est le chargement du site, la progression du chargeur disparaît avant que les graphiques de la page initiale soient entièrement chargés, et il y a un délai entre l'achèvement de l'objet loaderInfo et l'apparition des graphiques.

Quelqu'un d'autre a déjà eu ce problème auparavant?

Merci ...

+0

Salut jml, si j'ai bien compris, vous avez un swf qui est votre site et vous y incorporez des assets, le chargeur mainProgress est ajouté à this.loaderInfo, et il n'y a pas d'objets Loader?Mes suppositions sont: 1. Votre chargeur peut apparaître un peu en retard en commençant à un certain pourcentage (disons 30 par exemple), si c'est le cas 2. Le preloader semble correct, montre un rectangle de 0 à la largeur de la scène, mais il 100 pour cent et les graphiques réels montrant à l'écran. Suis-je proche? –

+0

je définis quelques graphiques pour dessiner - rectangles, champs de texte, coeurs xy calculés en fonction des paramètres de scène, chaînes passées, couleurs pour les éléments etc, ajouter une interpolation avec Tweener(), onComplete de Tweener() crée plus de sprite/texte des éléments, des écouteurs d'éléments graphiques sont ajoutés, des auditeurs de scène sont ajoutés, puis j'ajoute divers enfants à la scène. Cela devrait prendre du temps à charger. J'ai une barre de progression qui devrait apparaître pendant que tout cela se passe et quand cela arrive, les graphismes devraient être initialisés et ajoutés à la scène, puis les Tweens devraient se produire. – jml

+0

dans la dernière phrase je voulais dire "... pendant que tout cela est mis en place, et puis quand cela arrive ..." – jml