Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [Action Script 3.0] Importazione di immagini

    Ciao a tutti, sapete darmi qualche dritta per il funzionamento del comando mcListener.loadClip() per caricare files .PNG e .GIF in Adobe Flash CS3 Professional?

    Premetto che provengo da Flash MX dove per caricare le immagini (JPG) ed i filmati (SWF) potevo usare il comando loadMovie().

    So che questo comando è ancora attuale, ma non mi permette di caricare i PNG che per i progetti attuali e futuri mi è fondamentale.

    Ho trovato su internet e su diverse guide tanti modi (tutti riconducibili alla creazione di un oggetto "contenitore", di un MovieClip "ascoltatore" e di diversi metodi per il controllo del caricamento (.onLoadError, .onLoadInit, .onLoadStart, .onLoadProgress, .onLoadComplete).

    Facendo una funzione come la seguente:
    _global.loadMedia = function(myFile) {
    trace ("Procedura di caricamento del file: -->" + myFile + "<--");
    var mediaListener = new Object();

    mediaListner.onLoadInit = myLoadInit();
    mediaListner.onLoadStart = myLoadStart();
    mediaListner.onLoadProgress = myLoadProgress();
    mediaListner.onLoadComplete = myLoadComplete();
    mediaListner.onLoadError = myLoadError();

    function myLoadInit(){
    trace ("Inizio il caricamento: nome del File-->" + myFile + "<-- nome del movieClip -->" + mc + "<--");
    }

    function myLoadProgress(){
    trace("Percentuale Caricamento: " + int((bytesLoaded/bytesTotal)*100) + "%");
    }

    function myLoadComplete(){
    trace ("<< Procedura terminata >>");
    }

    function myLoadError(){
    trace("Si è verificato un ERRORE durante il caricamento del file: " + myFile + " " + mc);
    trace(">> ====================================");
    trace(">> error downloading image into " + mc);
    trace(">>errorCode: " + errorCode);
    trace(">>httpStatus: " + httpstatus);

    }

    function myLoadStart(){
    trace ("<< Avvio della procedura di caricamento >>");
    }

    var mcLoader:MovieClipLoader = new MovieClipLoader();
    mcLoader.addListener(mediaListener);
    mcLoader.loadClip(myFile, mc);
    }
    mi ritrovo con le funzioni che ritornano qualcosa, ma non riesco ad ottenere errorCode ed httpStatus quando mi si presentano degli errori.

    Inoltre (questo è un dubbio), vedo che ci sono diversi script dove vengono assegnati i tipi:
    Così funziona:
    var mediaListener = new Object();
    Mentre così non funziona
    var mediaListener:Object = new Object();
    Qualcuno sa darmi delle dritte anche su questo dubbio?

    Ah, ho provato sia digitando la funzione in SEPY che direttamente in FLASH... ma il risultato è identico...

    Grazie
    Emanuele
    Emanuele Boccaletti
    _____________________________________
    www.i23.eu
    emanuele@i23.eu

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    i parametri vanno passati alle funzioni per essere utilizzati

    ad esempio

    Codice PHP:
    function myLoadError(target_mc:MovieCliperrorCode:StringhttpStatus:Number){
        
    trace("Si è verificato un ERRORE durante il caricamento del file: " myFile " " target_mc);
        
    trace(">> ====================================");
        
    trace(">> error downloading image into " target_mc);
        
    trace(">>errorCode: " errorCode);
        
    trace(">>httpStatus: " httpstatus);

    comunque immagino che utilizzi Flash CS3 ma con pubblicazione con AS2, altrimenti con AS3 il codice sarebbe completamente diverso

  3. #3
    .... e qui casca il somaro che sono io...

    Come dicevo io sto provenendo da Flash MX e sto iniziando a capire come funziona il CS3 per aggiornarmi e per questo nuovo progetto che devo iniziare.

    Ora, premesso questo, vorrei capire in che senso "comunque immagino che utilizzi Flash CS3 ma con pubblicazione con AS2, altrimenti con AS3 il codice sarebbe completamente diverso", in cosa differenzierebbe?
    Scusa se sono "DURO A CAPIRE" ma mi interessa molto questo...

    Pensavo di stare utilizzando AS3.0, invece mi dici di no....

    Io ho capito che i TIPI servono per identificare gli oggetti che vai ad utilizzare e creare
    var myObject:Object = new Object();
    ma come mai quando utilizzo questo metodo non funzionano???

    Provo a spiegarmi meglio (anche se non è la mia specialità in questo periodo... ):
    io ho creato un filmato 800x600 con disegnati 4 pulsanti (trasformati in MC) per caricare 4 tipi diverse: PNG, JPG, GIF, SWF
    Ho inserito questo codice
    _root.btn1.onRelease = function()
    {
    trace ("pulsante 1");
    loadMedia("colori.png");
    }
    premendo uno di questi pulsanti il risultato che ottengo è
    pulsante 1
    Procedura di caricamento del file: -->colori.png<--
    Inizio il caricamento: nome del File-->colori.png<-- nome del movieClip -->_level0.mc<--
    << Avvio della procedura di caricamento >>
    Percentuale Caricamento: 0%
    << Procedura terminata >>
    Si è verificato un ERRORE durante il caricamento del file: colori.png _level0.mc
    >> ================================================
    >> error downloading image into _level0.mc
    >>errorCode:
    >>httpStatus:
    Avevo provato anche con la funzione loadMedia() scritta così:
    _global.loadMedia = function(myFile) {
    trace ("Procedura di caricamento del file: -->" + myFile + "<--");
    var mediaListener:Object = new Object();

    mediaListner.onLoadInit = function(){
    trace ("Inizio il caricamento: nome del File-->" + myFile + "<-- nome del movieClip -->" + mc + "<--");
    };
    mediaListner.onLoadStart = function(){
    trace ("Inizio il caricamento: nome del File-->" + myFile + "<-- nome del movieClip -->" + mc + "<--");
    };
    mediaListner.onLoadProgress = function(){
    trace("Percentuale Caricamento: " + int((bytesLoaded/bytesTotal)*100) + "%");
    };
    mediaListner.onLoadComplete = function(){
    trace ("<< Procedura terminata >>");
    };
    mediaListner.onLoadError = function(){
    trace("Si è verificato un ERRORE durante il caricamento del file: " + myFile + " " + mc);
    trace(">> ============================================");
    trace(">> error downloading image into " + mc);
    trace(">>errorCode: " + codeError );
    trace(">>httpStatus: " + httpstatus);
    };
    var mcLoader:MovieClipLoader = new MovieClipLoader();
    mcLoader.addListener(mediaListener);
    mcLoader.loadClip(myFile, mc);
    }
    ma il risultato è ancora peggiore: nessuna funzione viene richiamata e visualizzata nell'output.

    Ci sto sbattendo la testa da 2 giorni e non ci salto fuori...

    Ormai sono alla CANNA DEL GAS!

    Lele
    Emanuele Boccaletti
    _____________________________________
    www.i23.eu
    emanuele@i23.eu

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    c'era qualche errore nel codice, così funziona

    Codice PHP:
    _global.loadMedia = function(myFile:StringmyMC:MovieClip) {
        var 
    mediaListner:Object = new Object();

        
    mediaListner.onLoadInit myLoadInit;
        
    mediaListner.onLoadStart myLoadStart;
        
    mediaListner.onLoadProgress myLoadProgress;
        
    mediaListner.onLoadComplete myLoadComplete;
        
    mediaListner.onLoadError myLoadError;

        function 
    myLoadInit(target_mc:MovieClip) {
            
    trace("Initialized "+target_mc);
        }

        function 
    myLoadProgress(target_mc:MovieCliploadedBytes:NumbertotalBytes:Number) {
            
    trace("Percentuale Caricamento: "+Math.floor((loadedBytes/totalBytes)*100)+"%");
        }

        function 
    myLoadComplete(target_mc:MovieClip) {
            
    trace("<< Procedura terminata >>");
        }

        function 
    myLoadError(target_mc:MovieCliperrorCode:StringhttpStatus:Number) {
            
    trace("Si è verificato un ERRORE durante il caricamento del file: "+myFile+" "+target_mc);
            
    trace(">> ====================================");
            
    trace(">> error downloading image into "+target_mc);
            
    trace(">>errorCode: "+errorCode);
            
    trace(">>httpStatus: "+httpStatus);

        }

        function 
    myLoadStart(target_mc:MovieClip) {
            
    trace("<< Avvio della procedura di caricamento >>");
        }

        var 
    mcLoader:MovieClipLoader = new MovieClipLoader();
        
    mcLoader.addListener(mediaListner);
        
    mcLoader.loadClip(myFilemyMC);
    }; 

  5. #5
    non funziona...

    Ora se provo a premere qualunque dei pulsanti che ho creato non caricano le immagini esterne ed inoltre non mi ritornano nemmeno i valori trace che io chiedo di visualizzare



    purtroppo sto impazzendo....

    Lele
    Emanuele Boccaletti
    _____________________________________
    www.i23.eu
    emanuele@i23.eu

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    in AS3 l'approccio agli elementi visualizzati sullo stage è profondamente cambiato
    in pratica esiste una classe per ogni "facoltà" da utilizzare

    questo è lo schema



    la classe che si occupa dei caricamenti di immagini ed swf esterni è la classe Loader

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da manubox98
    non funziona...

    Ora se provo a premere qualunque dei pulsanti che ho creato non caricano le immagini esterne ed inoltre non mi ritornano nemmeno i valori trace che io chiedo di visualizzare



    purtroppo sto impazzendo....

    Lele
    a me funziona, verifica le impostazioni di pubblicazione, devono essere "Flash Player 8/9" e "Actionscript 2"

  8. #8
    Originariamente inviato da and80
    a me funziona, verifica le impostazioni di pubblicazione, devono essere "Flash Player 8/9" e "Actionscript 2"

    Mi vergogno.... avevo come player flash6....

    Grazie, sei stato molto gentile

    Lele
    Emanuele Boccaletti
    _____________________________________
    www.i23.eu
    emanuele@i23.eu

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da manubox98

    Mi vergogno.... avevo come player flash6....

    Grazie, sei stato molto gentile

    Lele
    capita

    piccola nota, puoi usare anche il player 7 ma in quel caso non si possono caricare immagini apparte le JPEG non progressive

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.