• User

    Preloader in as3

    Ciao Ragazzi, ho finito la mia animazione in flash, edesso dovrei metterci una barra preloader anche molto semplice, ho provato a cercare sul web ma trovo solo barre preloader per as2, per as3 non trovo niente da scaricare...potete aiutarmi?


  • Super User

  • User

    Ho scaricato il file, ho provato ma non funziona, nn so dove sbaglio..ho fatto così, ho aperto il file main che carica l'animazione, gli ho dato le misure della mia animazione e nel percorso all'interno del codice ho inserito il link dell'animazione da caricare, ma non carica niente, cioè si vede per meno di un secondo il preloader e poi vedo i puntini che caricano, ma non carica niente


  • Super User

    Come è fatta la tua animazione, è sulla time line principale? Da quale frame inizia?


  • User

    allora non so precisamente cosa significa time line principale, cmq si credo sia qualla principale, non ho operato su nessun'altra time line, poi l'animazione è formata da 7 livelli, inizia dal primo frame e nel primo frame c'è il seguente codice che mi hai dato tu quanche tempo fa:

    //musica
    var mySound:Sound=new Sound();
    
    var pathSound:URLRequest=new URLRequest("01_OMKAR3.mp3");
    
    mySound.load(pathSound);
    mySound.play(0, int.MAX_VALUE);
    
    
    
    mySound.addEventListener(Event.COMPLETE, Id3Info);
    
    function Id3Info(e:Event)
    {
    var id3:ID3Info=e.target.id3;
    trace(mySound.id3.artist);
    }
    
    // pulsante che mette in stop l'audio//
    stop_btn.addEventListener(MouseEvent.CLICK, ferma);
    
    function ferma(e:MouseEvent)
    {
    SoundMixer.stopAll();
    }
    
    // pulsante che fa partire l'audio//
    
    function riparteAudio(e:MouseEvent)
    {
    mySound.play();
    }
    
    play_btn.addEventListener(MouseEvent.CLICK, riparteAudio);
    

    Forse è proprio questo codice?


  • Super User

    Dunque se vuoi mettere un preloader nel filmato principale devi far inziare il filmato dal secondo fotogramma, metti sullo stage un campo di testo dinamico al quale dai nome istanza "loaderPercentText" e nel primo frame metti

    
    stop()
    addEventListener(Event.ENTER_FRAME, preload) ;
    function preload (e:Event) {
        var bl = stage.loaderInfo.bytesLoaded;
        var bt = stage.loaderInfo.bytesTotal;
        var pt = Math.floor((bl/bt)*100);
        loaderPercentText.text ="Loading " + pt + "   %"; 
        if (bl >= bt && bt > pt && pt == 100) {
            removeEventListener(Event.ENTER_FRAME, preload);
            gotoAndStop(2);    
        }
    }