• User Attivo

    Maskera dinamica .... dove sei?

    Salve a tutti eccomi con l'ennesimo problema della settimana :mmm: !!!!!

    Ho un MovieClip che deve mostrarmi una serie di info a mò di tabella scrollabile .... date le esperienze passate (col pannello NEWS) il creare maskere in fase di progettazione sembra poco efficiente dunque mi sono apprestato a crearne una dinamicamente .... ora domandina ... dov'è andata a finire stà MovieClip 'MaskDownload' creata nel codice actionscript ?

    In fase di debug come faccio a vederla se me la crea o meno ? Ho usato la vocina (List Objects) ma non vedo nulla tantomeno col santo trace(); ottengo nulla ...

    thanks
    gandalf:fumato:

    P.S.
    Ok comincio a vederla.... dovevo inserire il codice della creazione maskera nel MovieCilp istanziato e non nel MovieClip originale ... che confusione 😞 appena funziona tutto se qualcuno è interessato posto il file ....


  • Super User

    Ciao Gandalf,
    difficile risponderti sul perchè non vedi la maschera senza vedere il codice.
    Comunque, commenta la riga dove usi il setMask() e guarda se vedi la maschera.

    PS:
    Actionscript non è un linguaggio poi così nuovo. Ha alcuni bugs come praticamente tutti i linguaggi di programmazione (dato che sono stati 'inventati' dall'uomo e l'uomo non è perfetto).
    Actionscript 2.0 si basa sugli ECMAScript standard ed è un linguaggio OOP a tutti gli effetti.
    Con la realizzazione della versione 3.0 si avvicinerà ancora di più (e già lo è molto) ai suoi predecessori (vedi Java e C#).

    Personalmente sviluppo actionscript utilizzandolo come linguaggio OOP e sfruttando la possibilità di scrivere Classi, sfruttare l' Ereditarietà ed il Polimorfismo e avendo a disposizione il framework components che è qualcosa di fantastico.

    Purtroppo utilizzando actionscript con metodi gotoAndPlay etc etc probabilmente i suoi bugs aumentano in quanto non è la sua vera natura 🙂


  • User Attivo

    @Flep said:

    Ciao Gandalf,
    Personalmente sviluppo actionscript utilizzandolo come linguaggio OOP e sfruttando la possibilità di scrivere Classi, sfruttare l' Ereditarietà ed il Polimorfismo e avendo a disposizione il framework components che è qualcosa di fantastico.

    Ecco bravo tu usi la forma + pura e pulita di fare codice ... purtroppo non ho avuto il tempo materiale per conoscere la maniera di fare OOP con l'actionscript ....

    Un giorno ci arriverò 😉 quando farò un sito personale magari, cmq tornando al concetto di pulizia del codice ... le funzioni ... al momento stò spargendo come semi, funzioni quà e là.... volendole riunire tutte sullo stage magari nel primo frame di un livello chiamato 'MieFUNZIONI' .... al momento non riesco perchè non sò come rendere le stesse funzioni + elastiche e versatili.
    Es. la funzione che mi crea la maschera dinamica
    '================================================
    function CreaMaskera() {
    this.createEmptyMovieClip('MaskDownload', 0);
    with (this.MaskDownload) {
    moveTo(0, 0);
    beginFill(0x000088);
    lineTo(350, 0);
    lineTo(350, 350);
    lineTo(0, 350);
    endFill();
    }
    trace("setto la maschera sul movieclip SingleDownload");
    _root.Wind_Downloads_mc.SingleDownl_mc.setMask(this.MaskDownload);
    }
    '=============================================

    ... l'ho dovuta inserire sull'istanza del MClip principale relativo alla sessione dei Downloads ... (sul sito).
    Ora se questa funzione la volessi usare anke per altri casi e sopratutto inserirla sullo STAGE in maniera tale da ritrovarla anke con + facilità anzichè addentrarmi nella giungla di oggetti ?
    Come avrei potuto fare ?

    thanks
    gandalf :fumato:


  • Super User

    Ok,
    potresti passare 1 valore a quella funzione.
    Gli passi la movieclip che vuoi che ti mascheri.

    Ad esempio:

    
    function CreaMaskera(m:MovieClip) 
    {
        var mask:MovieClip=this.createEmptyMovieClip('MaskDownload', 0);
        with(mask) 
        {
            moveTo(0, 0);
            beginFill(0x000088);
            lineTo(350, 0);
            lineTo(350, 350);
            lineTo(0, 350);
            endFill();
        }
        trace("setto la maschera sul movieclip SingleDownload");
        mask.setMask(m);
    }
    
    

    e la chiami così:

    
    CreaMaskera(my_mc);
    
    

  • User Attivo

    😄 grande FLEP ... grazie

    gandalf