Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di duri93
    Registrato dal
    Dec 2008
    Messaggi
    155

    [AS3] Loader: trasparenza e dimansioni

    Ciao a tutti!

    In un filmato (con Flash CS4) ho inserito un loader, che il runtime carica una data immagine.
    Ho 2 problemi:
    1 - Se l'immagine ha delle parti trasparenti, viene visualizzato bianco e non lo sfondo del filmato
    2 - Sia nello stage, sia con l'actionscript imposto la sua larghezza a 80 e altezza a 32, ma quando provo il filmato diventa 100 in tutte e due le dimensioni... perche??

    Come posso risolvere questi problemi??

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    1. Ho testato con una png con trasparenza e vedo correttamente quello che c'è dove l'immagine è trasparente;
    2. Impossibile, o meglio possibile se le dimensioni dell'immagine sono 100x100 e non hai impostato le nuove dimensioni dopo aver caricato l'immagine con preload.

  3. #3
    Utente di HTML.it L'avatar di duri93
    Registrato dal
    Dec 2008
    Messaggi
    155
    Hai usato actionscript 2 o 3?? E che codice hai messo? Puoi postarmelo?
    Ultima cosa: fa differenza se l'immagine è in locale o caricata su un host?

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da duri93
    Hai usato actionscript 2 o 3?? E che codice hai messo? Puoi postarmelo?
    Ultima cosa: fa differenza se l'immagine è in locale o caricata su un host?
    Ovviamente AS3, visto il tuo titolo. Non fa differenza il posto in cui si trova l'immagine.
    Il codice è semplicissimo:
    Codice PHP:
    var loader:Loader addChild(new Loader()) as Loader;
    loader.load(new URLRequest("test.png")); 

  5. #5
    Utente di HTML.it L'avatar di duri93
    Registrato dal
    Dec 2008
    Messaggi
    155
    Ok così funziona...
    Ma se volessi associare al loader un evento del mouse come faccio? Io devo fare in modo da poterci clikkare sopra...

    E poi se nello script cambio la larghezza o l'altezza del loader non mostra niente...

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Per assegnare un'azione e un valore alle proprietà del loader devi attenderne il caricamento, perciò ti basta associare l'azione che vuoi all'evento Event.COMPLETE del loaderInfo associato al loader stesso.
    Codice PHP:
    var loader:Loader addChild(new Loader()) as Loader;
    loader.load(new URLRequest("test.png"));
    loader.contentLoaderInfo.addEventListener(Event.COMPLETEcompleteHandler);
    function 
    completeHandler (evt:Event) {
        
    loader.width 100;
        
    loader.height 75;
        
    loader.addEventListener(MouseEvent.CLICKclickHandler);
    }
    function 
    clickHandler (evt:MouseEvent) {
        
    trace ("Cliccato su "+evt.target);


  7. #7
    Utente di HTML.it L'avatar di duri93
    Registrato dal
    Dec 2008
    Messaggi
    155
    ok grazie mille ora provo

  8. #8
    Utente di HTML.it L'avatar di duri93
    Registrato dal
    Dec 2008
    Messaggi
    155
    Sarò io molto inesperto dell'actionscript3 (è da ieri che lo uso), ma non capisco perchè questo codice (inserito in un fotogramma di un clip filmato, si riferisce al loader che è in root) mi dà un errore per ogni volta che scrivo root

    Codice PHP:
    if(root.loader_bool==true){
        
    root.loader.x=0;
        
    root.loader.y=0;
            
    root.loader.width=root.wstage;
        
    root.loader.height=root.hstage;

    L'errore è questo:

    1119: Access of possibly undefined property loader through a reference with static type flash.display:DisplayObject.

    non può essere dal fatto che il loader non ha finito di caricarsi perchè il boolean loader_bool diventa true solo quando il loader ha finito; Inoltre se modifico le proprietà all'interno della funzione dell'evento complete non fa errore...

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Su AS3 root è una proprietà appartenente a tutti i display object e riporta sempre come oggetto un "DisplayObject" e non un movieclip come in realtà dovrebbe essere root
    Per fare in modo che accetti delle proprietà in ingresso o per recuperare una proprietà che siamo sicuri che sia contenuta in root, dobbiamo prima trasformarlo in MovieClip:

    codice:
    trace (MovieClip(root).loader); // se la proprietà "loader" si trova in root viene tracciato [object Loader]
    Oppure puoi fare così: root["loader"]

  10. #10
    Utente di HTML.it L'avatar di duri93
    Registrato dal
    Dec 2008
    Messaggi
    155
    Ora ho capito!!! Grazie mille ancora!!!

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.