2011-05-27 2 views
0

J'ai créé le préchargement suivant enregistré en tant que « preloader.swf » qui charge un fichier SWF externe comme suit:Preloader pour charger SWF externe sans événements progress et complete

var req:URLRequest = new URLRequest("main.swf"); 
var loader:Loader = new Loader(); 
loader.load(req); 

loader.contentLoaderInfo.addEventListener(Event.OPEN, showPreloader); 
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, showProgress); 
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, showContent); 

var preloader:Preloader = new Preloader(); 

function showPreloader(event:Event):void 
{ 
    addChild(preloader); 
    preloader.x = (stage.stageWidth/2) - (preloader.width/2); 
    preloader.y = (stage.stageHeight/2) - (preloader.height/2); 
} 

function showProgress(event:ProgressEvent):void 
{ 
    var percent:Number = event.bytesLoaded/event.bytesTotal; 
    preloader.percentage.text = Math.round(percent * 100) + "%"; 
    preloader.bar.width = 300 * percent; 
} 

function showContent(event:Event):void 
{ 
    removeChild(preloader); 
    addChild(loader); 
} 

Je lisais d'essayer d'éviter PROGRESS et les événements COMPLÈTE puisque ces événements ne fonctionnent pas dans 100% des cas. Maintenant, ma question est la suivante: existe-t-il une façon de procéder pour avoir la même fonctionnalité de chargement d'un fichier SWF externe (comme ci-dessus) mais SANS utiliser les événements PROGRESS et COMPLETE?

Si oui, quelqu'un peut-il me suggérer quel codage ajouter/modifier?

Merci.

Répondre

0

Avez-vous essayé avec une minuterie? Vous vérifiez à chaque intervalle est le SWF est chargé entièrement ou non. Toutefois, les événements PROGRESS et COMPLETE doivent toujours fonctionner. Qu'est-ce qui ne fonctionne pas dans votre projet?

+0

En le testant localement, le préchargeur ne me pose aucun problème. Mais quand je l'ai téléchargé en ligne, le preloader se charge plus vite que d'habitude d'une manière irrégulière, ou se bloque parfois. Une fois que le pré-chargeur se bloque et que le site est rafraîchi, ou que le cache est effacé, le site fonctionne parfaitement comme prévu, c'est-à-dire qu'il charge plus lentement qu'avant. La chose étrange que je n'arrive pas à comprendre et à résoudre est que seulement lorsque le preloader a gelé/accroché et que le site est rafraîchi, ou que le cache est effacé, tout le site fonctionnera-t-il comme prévu sans problème ou sans verrou ... UPS! – JPF

Questions connexes