• User Newbie

    Ciao a tutti inanzitutto visto che sono nuovo...

    vi espongo subito il mio problema...

    dopo aver caricato con un loadMoive una jpg su un Mc prestabilto, lo smaskero dinamicamente su un onEnterFrame, questo avviene per ogni "ipotetica sezione del sito" conl'idea di avere un bg differente per ogni sezione.
    Vorrei però implementare questa funzione con un duplicate Mc in modo tale che ogni volta che una foto si smaskera non lo faccia sul bg del swf. ma lo faccia al di sopra dell'ultima presente, rendendo più interessante l'effetto...
    ho dei problemi però con il duplicate: l'idea era quella di duplicare MC che contiene la jpg prima della smaskeramento successivo e una volta smaskerata la nuova foto, eliminarlo o renderlo _visible=false.

    ecco il codice incriminato!!!

    MovieClip.prototype.loada = function(Location, collegamento) {
    //// tanica è mc che fa il load movie
    tanica._alpha = 0;
    _root.visualizza._alpha = 100;
    _root.tanica.loadMovie(Location);
    //loading
    _level0.onEnterFrame = function() {
    var total = parseInt(tanica.getBytesTotal());
    var loaded = parseInt(tanica.getBytesLoaded());
    perc = Math.round((loaded/total)*100);
    _root.visualizza._alpha = (100-perc);
    _root.visualizza.bar._xscale = (100-perc);
    _root.visualizza.percentuale = perc+"%";
    if (total == loaded) {
    ///////
    ///////
    _root.visualizza._alpha = 0;
    var w = tanica._width+space;
    var h = tanica._height+space;
    border.smaskera(w, h, Location, collegamento);
    delete this.onEnterFrame;
    }
    };
    };
    };
    **MovieClip.prototype.smaskera = function(w, h, Location, collegamento) {
    var maskClip:MovieClip = tanica.createEmptyMovieClip("mask_mc", 20);
    //////?????
    ** var DuplyClip:MovieClip = tanica.duplicateMovieClip(tanica, "duply", 10);
    DuplyClip._alpha = 100;

    //////?????
    this.onEnterFrame = function() {
    tanica._alpha = 100;
    with (maskClip) {
    // costrusico la maskera delle stesse dimensioni del jpg caricato...
    beginFill(0xFF00FF, 100);
    moveTo(0, 0);
    lineTo(tanica._width, 0);
    lineTo(tanica._width, tanica._height);
    lineTo(0, tanica._height);
    lineTo(0, 0);
    endFill();
    }
    tanica.setMask(maskClip);
    ////attivo la maskeratura
    var mask_tween:Object = new Tween(maskClip, "_yscale",Strong.easeOut, 0, 100, 1.3, true);
    mask_tween.onMotionStopped = function() {
    carica(collegamento);
    DuplyClip._alpha = 0;
    };

        delete this.onEnterFrame;
    };
    

    };

    HELP!!!!!!!!!!!!!!!! grazie e spero possa essere d'aiuto e approfondimento sul tema già aperto...


  • Super User

    Ciao ebugrafik e benvenuto nel forum GT 🙂

    Il codice che hai postato purtroppo mi complica un po la vita in quanto ci sono 3-4 passi che utilizzano dei metodi obsoleti.

    Personalmente non uso mai duplicateMovieClip in quanto da troppi problemi con i depths.

    Non potresti caricare un'immagine sopra l'altra?
    Quella che sta sopra a quella che deve scomparire la carichi _alpha=0; e poi la fai entrare piano piano.
    Spero di non aver capito male 🙂


  • User Attivo

    obsoleto ..... ? Come sarebbe a dire obsoleto ? E io che stò a impazzire da settimane :sbav: per far funzionare una benedetta maschera ... !!! Mi dite quale metodo allora può sostituire l'obsoleto DuplicateMClip ?! :mmm:

    Thanks all


  • Super User

    Non mi riferivo a duplicateMovieClip come metodo obsoleto.
    Mi riferivo a:

    var mask_tween:Object = new Tween(maskClip, "_yscale",Strong.easeOut, 0, 100, 1.3, true);
    mask_tween.onMotionStopped = function() {
    carica(collegamento);
    DuplyClip._alpha = 0;
    };

    e a questo:
    MovieClip.prototype.loada = function(Location, collegamento)

    Ripeto ,
    **consiglio strettamente personale:
    **il metodo duplicateMovieClip mi ha sempre dato svariati problemi con i depths per cui sconsiglio di usarlo.
    Se qualcuno di voi lo vuole utilizzare comunque, si legga la guida Actionscript per cortesia in quanto io non lo uso mai. 🙂


  • User Attivo

    Mmmm..... quindi dato che di problemi con le maschere non ne ho pochi .... cosa mi consigli come alternativa al DuplicateMClip ? Se il CLIP di esempio ha + di 1 oggetto all'interno ?!?! :mmm: Non è troppo impegnativo a livello di righe ? 🙂

    thanks
    Gandalf


  • Super User

    Io sto facendo un po di confusione...
    Ma tu sei anche ebugrafik?


  • User Attivo

    no no sono gandalf e basta 😄 il ebugrafik non sò che fine abbia fatto 🙂 ........

    thanks


  • Super User

    Praticamente invece di duplicare la clip, la crei all'interno di un ciclo.


  • User Attivo

    Mmmmm .... ok ci stò forse te l'ho già chiesto ma se puoi ... mi rifaresti un piccolo esempiuccio .... 🙂

    thnks
    gandalf


  • Super User

    Ad esempio:
    hai la tua clip in libreria.
    Con un ciclo fai un attachMovie della clip dalla libreria allo Stage.

    
    for(var i:Number=0;i<6;i++)
    {
        var clip:MovieClip=_root.attachMovie('mc_clip','clip_'+i+'_mc',_root.getNextHighestDepth());
    }
    
    

  • User Attivo

    grazie mille FLEP :ciauz:

    Gandalf


  • User Newbie

    sorry...non è che mi sono disinteressato...diciamo che per un paio di mesi non sono stato in Italia ma in giro lontano dai pc...comunque apparte tutto è vero quello che ha suggerito flep...

    in particolare, "var mask_tween:Object=..." mi ha creto parecchi problemi...x un po' l'ho usato vista la sua apparente praticità...

    ciao e grazie di nuovo