Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15
  1. #11
    Ma perchè secondo te è un problema di preloader?
    Perche' senza il preloader (quello che usi e' old) il file non riesce a calcolare esattamente tutto cio' che ti serve (ad es: le diemnsioni da dargli ecc)

    Sto leggendo il link che gentilmente mi hai mandato...non riesco a capire questo punto:
    --------------------------------
    Come si usa
    Per prima cosa è necessario creare una istanza della classe in questo modo
    var mcLoad:MovieClipLoader = new MovieClipLoader();
    ----------------------------------
    cosa devo creare esattamente?
    niente c'e' scritto che con quel'istruzione verra' creata un'istanza della classe.

    comunque puoi scaricarti l'esempio e vedere esattamente il suo utilizzo.
    per un file swf fai cosi'
    codice:
    // creo un oggetto ascoltatore, che colleghi gli eventi possibili per la classe MovieClipLoader, ad una istanza della stessa
    var mcListener:Object = new Object();
    // attivo il codice per il primo metodo
    mcListener.onLoadStart = function(target_mc:MovieClip) {
    	// rendo invisibile l'mc che carica l'immagine
    	target_mc._alpha = 0;
    	// traccio l'avvenuto richiamo dell'evento
    	trace("Attivato Evento Start, l'immagine sta caricando");
    };
    // attivo il codice, che verrà richiamato di continuo per tutta la durata del caricamento
    // e che porterà nel codice la visualizzazione del caricamento che scorre
    mcListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
    	// creo una variabile che rappresenta il valore percentuale del caricamento
    	var percentual:Number = Math.floor((bytesLoaded/bytesTotal)*100);
    	// traccio il valore effettivo di bytes caricati rispetto ai totali
    	trace("Caricati "+bytesLoaded+" bytes di "+bytesTotal+" totali");
    	// traccio il valore in percentuale caricata
    	trace("Caricato "+percentual+"% dell'immagine");
    };
    // attivo il codice dell'evento che avverte dell'avvenuto caricamento
    mcListener.onLoadComplete = function(target_mc:MovieClip) {
    	// rendo nuovamente visibile l'mc che carica l'immagine
    	target_mc._alpha = 100;
    	// traccio l'avvenuto richiamo dell'evento
    	trace("Attivato Evento Complete, l'immagine ha terminato il caricamento");
    };
    // attivo l'ultimo metodo di caricamento, quello che permette di manipolare l'immagine con le sue dimensioni e proprietà effettive
    mcListener.onLoadInit = function(target_mc:MovieClip) {
    	// traccio le dimensioni reali del clip in cui ho appena caricato l'immagine
    	trace("Larghezza: "+target_mc._width);
    	trace("Altezza: "+target_mc._height);
    	// modifico le dimensioni del clip grazie alle dimensioni effettive, utilizzando una proporzione
    	// voglio che la nuova larghezza sia di 300 pixel
    	newW = 300;
    	// calcolo la nuova altezza in base alla larghezza che ho impostato sopra	
    	newH = (target_mc._height*newW)/target_mc._width;
    	// assegno le nuove dimensioni al clip
    	target_mc._width = newW;
    	target_mc._height = newH;
    };
    // attivo il metodo di errore, utile nel caso che l'immagine non esista
    mcListener.onLoadError = function(target_mc:MovieClip, errorCode:String) {
    	// il secondo parametro può assumere due valori, "URLNotFound" o "LoadNeverCompleted".
    	// grazie a questi due valori valutiamo l'errore con un if/else e tracciamo una conseguenza
    	if (errorCode == "URLNotFound") {
    		trace("Errore, l'immagine non è stata trovata, file sconosciuto");
    	} else if (errorCode == "LoadNeverCompleted") {
    		trace("Errore, caricamento interrotto, probabile sovraccarico del server, riprovare più tardi");
    	} else {
    		trace("Errore generico, il server non ha risposto in tempo, oppure l'immagine risulta danneggiata o non è un'immagine");
    	}
    };
    //
    // al termine della inizializzazione degli eventi, creiamo l'oggetto MovieClipLoader che sarà il nostro elemento portante 
    // per il caricamento del file esterno (in questo caso un'immagine, ma possiamo caricare tranquillamente con lo stesso metodo, anche un swf)
    var mcLoader:MovieClipLoader = new MovieClipLoader();
    // "agganciamo" l'oggetto ascoltatore alla nostra istanza di MovieClipLoader
    mcLoader.addListener(mcListener);
    // a questo punto passiamo all'ultimo atto
    // utilizzando il metodo loadClip per caricare l'immagine dentro un clip specifico
    // in questo caso l'immagine sarà "image.jpg" che risiede nella stessa cartella dell'swf
    // mentre il clip sarà l'unico elemento presente sullo stage, che ha nome di istanza "myClip"
    // il codice di avvio sarà il seguente:
    mcLoader.loadClip("file.swf", myClip);
    // questo è quanto.
    -Nextart.it Graphic Solutions

  2. #12
    Si quoto nextart, e ti consiglio di non usare mai la sintassi obsoleta: on(release) applicata ai MovieClip, ti consiglio di applicare il codice solo sul frame che ti serve in questo modo:

    nomeclip.onRelease = function()
    {
    // codice del pulsante
    }

    in questo modo non hai problemi per la gestione della variabile da impostare alla pressione sul tasto... (il codice per farlo, se vuoi te lo scrivo dopo che ci confermerai che con il MovieClipLoader hai risolto il precedente problema!)


  3. #13
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    mi intrometto perchè, essendo l'autore dell'articolo, mi sento in dovere di chiarire un paio di punti

    la classe fa parte del core di actionscript per flash player 7 e successivi, quindi non funziona con player inferiori, sostituisce di fatto la vecchia funzione loadMovie applicabile ai MovieClip, ma è una classe a se che contiene una lista di eventi che descrivono gli istanti di vita del caricamento esterno, dall'inizio alla fine passando per il progresso
    ma essendo una classe ha bisogno di essere inizializzata nel codice e lo si fa con questa riga di codice: var loader = new MovieClipLoader() in modo che "loader" venga assunto per le azioni successive
    un caricamento semplice non richiede più di due righe:

    Codice PHP:
    var loader = new MovieClipLoader();
    loader.loadClip("test.swf"test); 
    la funzione che carica (quella che prima era loadMovie) si chiama loadClip e prevede due parametri, il primo è l'indirizzo dell'immagine o dell'swf che si vuole caricare, il secondo è il target ossia il MovieClip su cui si vuole caricare l'immagine
    perciò se prima facevi test.loadMovie("test.swf"), ora fai come descritto sopra

    per conoscere invece il momento in cui il file viene caricato ed è quindi possibile modificare le dimensioni è possibile, sempre semplificando il codice, assegnare una funzione ad un evento collegato al loader, che nel caso specifico risponde al nome di onLoadInit

    il codice non cambierà eccessivamente

    Codice PHP:
    var loader = new MovieClipLoader();
    loader.onLoadInit = function(){
        
    test._width 500;
        
    test._height 350;
    }
    loader.loadClip("test.swf"test); 

  4. #14
    Vi ringrazio moltissimo per tutto l'aiuto che mi avete dato, ORA FUNZIONA!!!
    Alla prossima....

    Manuela

  5. #15
    NOOOOOOO.....On-line non funziona più!!! Perchè???
    Per favore qualcuno potrebbe aiutarmi?
    Mando il file .rar da scaricare direttamente.

    http://www.orsinoweb.com/VITA%20DA%20ANIMALI.rar

    Grazie MILLE in anticipo.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.