Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Preloader con mc

  1. #1

    Preloader con mc

    Ciao.
    Ho adattato il codice di Essential AS3
    Codice PHP:
    package com
        
    import flash.display.*; 
        
    import flash.net.URLRequest
        
    import flash.events.*; 
        
    import flash.text.*; 
        public class 
    DataLoader extends Sprite 
            public static const 
    ON_LOAD_COMPLETE:String="onLoadComplete"
            private var 
    _loader:Loader;// The asset loader 
            
    private var progressOutput:ClipPreLoader;// The text field in which 
            // to display load progress 
            // Constructor 
            
    public function DataLoader(contentData:String) { 
                
    _loader=new Loader (); 
                
    // Register for events 
                
    _loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progressListener); 
                
    _loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeListener); 
                
    _loader.contentLoaderInfo.addEventListener(Event.INIT,initListener); 
                
    _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,ioErrorListener); 
                
    // Create the progress indicator 
                
    createProgressIndicator(); 
                
    // Start the load operation 
                
    _load(new URLRequest(contentData)); 
            } 
            private function 
    createProgressIndicator():void 
                
    progressOutput = new ClipPreLoader(); 
                
    /* TEST */ 
                
    progressOutput.x200
                
    progressOutput.y400
            } 
            private function 
    _load(urlRequest:URLRequest):void 
                
    _loader.load(urlRequest); 
                if (! 
    contains(progressOutput)) { 
                    
    addChild(progressOutput); 
                } 
                 
            } 
            
    // Listener invoked whenever data arrives 
            
    private function progressListener(e:ProgressEvent):void 
                
    // Update progress indicator. 
                
    var perc:Number e.bytesLoaded e.bytesTotal
                var 
    fr:Number Math.ceil(perc*100); 
                
    progressOutput.gotoAndPlay(fr); 
            } 
            private function 
    initListener(e:Event):void 
                
    addChild(_loader.content);// Add loaded asset to display list 
            

            
    // Listener invoked when the asset has been fully loaded 
            
    private function completeListener(e:Event):void 
                
    // Just in case  
                
    progressOutput.play(); 
                
    // Remove progress indicator. 
                
    removeChild(progressOutput); 
                
    dispatchEvent(new Event(ON_LOAD_COMPLETE)); 
            } 
            private function 
    ioErrorListener(e:IOErrorEvent):void 
                
    trace("LOAD ERROR"); 
            } 
        } 

    Il swf viene caricato ma non
    si vede il preloader.
    Non riesco a capire dove possa
    essere lo sbaglio.
    (Può darsi benissimo che mi perda qc)
    Help me, please

    PS
    La mc del preloader è formata
    da 100 frames con lo stop()
    all'inizio e alla fine.

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Il codice pare ok, non ricordo però se una classe dichiarata in libreria (ClipPreLoader) viene vista correttamente da una classe diversa dalla document class. Però nel caso non l'avesse trovata, il programma ti avrebbe dovuto dare un errore in runtime o addirittura nella pubblicazione dell'swf.
    Come e dove utilizzi questa classe?

  3. #3
    Originariamente inviato da and80
    Il codice pare ok, non ricordo però se una classe dichiarata in libreria (ClipPreLoader) viene vista correttamente da una classe diversa dalla document class. Però nel caso non l'avesse trovata, il programma ti avrebbe dovuto dare un errore in runtime o addirittura nella pubblicazione dell'swf.
    Come e dove utilizzi questa classe?
    Nello stage ho

    Codice PHP:
    stage.scaleMode "noScale";
    stage.align "LT";
    //import com.ClipPreLoader;

    //handle click events
    import com.events.MenuEvent;
    import com.DataLoader;

    /*
    import com.ClipPreLoader;
    var progressOutput:ClipPreLoader = new ClipPreLoader();
    progressOutput.x= 200;
    progressOutput.y= 200;
    addChild(progressOutput);
    progressOutput.gotoAndPlay(2);
    */

    menuHolder.addEventListener(MenuEvent.ITEM_CLICK,onClickHandler);

    function 
    onClickHandler(e:MenuEvent)
    {
        var 
    link:String e.data;
        
        var 
    dataLoader:DataLoader = new DataLoader(link);
        
    dataLoader.200;
    addChild(dataLoader);
        
    //trace(link);
        //use the link var to do something
        
    linkInfo.text "Link clicked: "+link;

    Non mi viene neanche in mente
    un metodo per il debug
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.