Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di daryl74
    Registrato dal
    Jun 2001
    Messaggi
    125

    TransitionManager all'interno di una classe che estende MovieClip

    Ho un FLA con 1 unico oggetto MovieClip in libreria la cui classe è: "MioMC", all'interno del Movieclip c'è solamente un quadrato blu.
    Nel codice del FLA ci sono queste 2 righe:
    Codice PHP:
    var pluto:MovieClip = new MioMC();
    addChild(pluto); 
    La classe "MioMC" contiene il seguente codice AS3:
    Codice PHP:
    package {
        
    import flash.display.MovieClip;
        
    import fl.transitions.*; 
        
    import fl.transitions.easing.*; 

        public class 
    MioMC extends MovieClip {
                    
            public function 
    MioMC() {
                var 
    pippo:MovieClip = new MovieClip();
                
    pippo.graphics.beginFill(0xFF0000);
                
    pippo.graphics.drawRect(200200100100);
                
    pippo.graphics.endFill();
                
    addChild(pippo);
                
    TransitionManager.start(pippo, {type:Fadedirection:Transition.INduration:2easing:None.easeOut});
                
    //TransitionManager.start(this, {type:Fade, direction:Transition.IN, duration:2, easing:None.easeOut});
            
    }
        }

    con l'ultima riga commentata, il codice funziona: compare il quadrato blu e il quadrato rosso appare con la transizione voluta.
    Se scommento l'ultima riga non funziona. Mi da questo errore:
    Codice PHP:
    ReferenceErrorError #1069: Impossibile trovare la proprietà __transitionManager su MioMC e nessun valore predefinito presente.
        
    at fl.transitions::TransitionManager$/start()
        
    at MioMC$iinit()
        
    at prova_fla::MainTimeline/prova_fla::frame1() 
    Io vorrei che l'oggetto MioMC di tipo MovieClip comparisse con un'effetto di transizione. Ma non ci riesco. Il quadrato rosso creato a runtime mi è servito solo per verificare che le transizioni funzionano all'interno della classe da me creata.

    ringrazio anticipatamente

    DaryL74

  2. #2
    Utente di HTML.it L'avatar di daryl74
    Registrato dal
    Jun 2001
    Messaggi
    125
    In pratica: istanziando un nuovo oggetto di una classe che estende MovieClip o Sprite) è possibile farlo comparire sullo stage con una transizione ?

    La transizione dovrei metterla in una funzione della classe, richiamandola dal costruttore, oppure metterla nel costruttore stesso.

    grazie

  3. #3
    TransitionManager.start(this, {type:Fade, direction:Transition.IN, duration:2, easing:None.easeOut});
    Scusa ma cosa c'entra this ?
    this è un oggetto della classe stessa
    (tra l'altro usato pochissimo in as3 afaik)
    tu la transition la vuoi applicare alla mc o sbaglio ?


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

  4. #4
    Utente di HTML.it L'avatar di daryl74
    Registrato dal
    Jun 2001
    Messaggi
    125
    this all'interno della classe fa riferimento all'oggetto MovieClip appena creato di tipo MioMC. Io la transizione non la voglio applicare a pippo (che è un mc creato dentro la classe MioMC) ma la voglio applicare a MioMC stesso (con tutto quello che contiene compreso pippo), cioè voglio che MioMC quando viene creato appaia con una transizione.

    Nel mio caso MioMC è un un clip in libreria con una sua classe ma che al suo interno ha già dei disegni/simboli/pulsanti, etc...

  5. #5
    Hai fatto il linkage ?
    Ad ogni modo eviterei il this
    e istanzierei la classe linkata
    nella Main o quella che metti
    nel document.

    Tanto per vedere se è tutto
    a posto prova
    Codice PHP:
    var pluto:MovieClip = new MioMC(); 
    addChild(pluto);
     
    TransitionManager.start(pluto, {type:Fadedirection:Transition.INduration:2easing:None.easeOut}); 
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  6. #6
    Utente di HTML.it L'avatar di daryl74
    Registrato dal
    Jun 2001
    Messaggi
    125
    Linkage fatto e funzionante (il clip compare istanziandolo)
    Il codice che hai scritto è stata la prima cosa che ho provato (anche se preferirei mettere la transition all'interno della classe MioMC).
    In ogni caso con quel codice mi restituisce questo errore:
    Codice PHP:
    ReferenceErrorError #1069: Impossibile trovare la proprietà __transitionManager su MioMC e nessun valore predefinito presente.
        
    at fl.transitions::TransitionManager$/start()
        
    at prova_fla::MainTimeline/prova_fla::frame1() 

  7. #7
    Giustamente
    Codice PHP:
    trace(this is MovieClip); 
    questo ritorna true (avevo letto di furia il tuo post)
    L'unica cosa che mi viene im mente di provare con
    una cosa del genere
    Codice PHP:
    this as MovieClip



    Ps.

    Proverei anche ad aggiungere mi sa che è qui il problema
    Codice PHP:
    import fl.transitions.TransitionManager
    dai un occhio
    http://board.flashkit.com/board/arch.../t-765576.html
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  8. #8
    Utente di HTML.it L'avatar di daryl74
    Registrato dal
    Jun 2001
    Messaggi
    125
    Ciao, per l'import:
    Codice PHP:
    import fl.transitions.TransitionManager
    è già importato dalla riga
    Codice PHP:
    import fl.transitions.*; 
    Per il primo suggerimento avevo già provato a fare un cast a Movieclip senza successo. In ogni caso ho provato a seguire il tuo consiglio mettendo
    Codice PHP:
    this as MovieClip 
    piuttosto che
    Codice PHP:
    MovieClip(this
    ma senza successo.

    L'articolo che mi hai linkato mi ha comunque fatto trovare la soluzione !!!!
    Nella dichiarazione della classe MioMC che estende MovieClip devo aggiungere dynamic. Adesso funziona tutto.
    Ho cambiato la seguente riga:
    Codice PHP:
    public class MioMC extends MovieClip 
    in:
    Codice PHP:
    public dynamic class MioMC extends MovieClip 
    Grazie per l'aiuto e la pazienza

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.