• Super User

    Scusa, ma questo codice:
    nome_mc.onPress = function () {
    startDrag ("_root.nomeclipdatrascinare", true);
    }

    che fai premi nome_mc per trascinare un' altra MovieClip :mmm:


  • User Attivo

    Oddio, in genere quando devo trascinare un oggetto qualsiasi faccio così

    Importo l'oggetto, lo converto in clip filmato, chiamiamolo mc1, e dentro mc1, creo un pulsante sullo stato sopra (quindi trasparente) che mi copra tutto mc1, torno ad mc1, seleziono il pulsante e vi associo lo script:

    on (press) {
    startDrag ("_root.mc1", true);
    }
    on (release) {
    stopDrag ();
    }

    e in genere funziona!! (dimmi se sbaglio)!!

    Ma questa volta devo trascinare un swf esterno caricato nell'swf principale tramite loadMovie (rilascio di un tasto carica dentro un movie clip vuoto, diciamo load_mc), e questo swf esterno, tra l'altro, deve essere ''utilizzabile'' dall'utente...quindi non posso coprire load_mc con un bottone trasparente, anche perché il bottone si troverebbe sotto l'swf che carico...come faccio a renderlo draggabile alla pressione e non draggabile al rilascio del mouse???
    ed in oltre, ho sempre il problema, che l'utente dovrebbe poter cliccare su uno o un altro swf in modo che questi si spostino in primo piano!! 😞
    Non so se sono stato chiaro!!
    Tu sei molto gentile però 🙂

    Se è il caso ti allungo i file 😉 (ma non voglio chiedere troppo!!)
    Grazie ancora!!


  • Super User

    Invece di creare un' area sopra al bottone o MovieClip, puoi fare semplicemente così:
    nomeMovieClip.onPress=function()
    {
    this.startDrag();
    }

    da quel codice quindi:

    nomeClipCheContieneSWFCaricato.onPres=function()
    {
    this.getDepth(_root.getNextHighestDepth());
    this startDrag();
    }


  • User Attivo

    Niente ... 😞 ho inserito il tuo codice nel gestore ClipEvent assegnandolo ad ogni istanza filmato che mi carica i rispettivi swf esterni ma non accade nulla!!

    Non ci capisco!! :mmm:
    A te grazie comunque !!


  • Super User

    non nel gestore clipEvent ! 🙂

    Impara a scrivere codice sulla timeline, non sui bottoni o sulle MovieClip.

    Usa la mia tecnica dalla timeline e vedrai che ti troverai meglio.


  • User Attivo

    In che senso??

    Io ho un solo livello che chiamo ''azioni'' e scrivo tutto lì, ed il codice l'ho immesso in questo livello ''azioni''... Sono d'accordo con te, scrivo codice nei movieclip solo quando è relativo ad una sua animazione particolare, indipendente dal filmato!!

    Ma poi la cosa strana è che per un istante mi ha fatto muovere gli swf, poi niente più (ma ad ogni modo non li portava uno avanti l'altro a secondo di quello che selezionavo) 😞

    😢😢😢


  • User Attivo

    P.S,
    i vari movie clip, pulsanti etc. sono su livelli separati da quello ''azioni'' 😉


  • User Attivo

    ah, dimenticavo.... se si muovevano non erano però attivi, cioé l'swf si muoveva ma i bottoni al suo interno non si azionavano!! 😞


  • Super User

    Se dentro agli SWF hai dei bottoni, allora ecco perchè creavi 'la finta area' sull' swf caricato, ma non credo ti serva a molto.

    Purtroppo in queste situazioni non posso aiutarti molto, ho caricato swf esterni molto raramente, sono abituato a sviluppare con classi AS per cui non so che dirti al momento...

    Con Flash se lavori dalla timeline e scrivi tutto lì, se hai bottoni dentro ad una MovieClip a cui applichi degli eventi del mouse sono problemi.

    Se sei sulle classi lo gestisci molto meglio.

    :bho:


  • Super User

    Prova a crare un bordo all' interno della MovieClip che carica l' swf e rendi trascinabile solo quello.


  • User Attivo

    Ho inserito:

    bottone1.onRelease = function() {
    mc1.loadMovie("xxxxx1.swf");
    };

    bottone2.onRelease = function() {
    mc2.loadMovie("xxxxx2.swf");
    };

    var mc1(mcvuoto che carica l'swf esterno 1):MovieClip;
    var mc2(mcvuoto che carica l'swf esterno 2):MovieClip;

    mc1._level = mc1.getDepth;
    mc2._level = mc2.getDepth;

    var myRoot:MovieClip = this.mc1;
    var myRoot:MovieClip = this.mc2;

    var maxLength:Number = myRoot.getNextHighestDepth();

    mc1.onMouseDown = function() {
    this.startDrag();
    this.swapDepths(maxLength++);
    };

    mc1.onMouseUp = function() {
    this.stopDrag();
    mc1.swapDepths(loadingcruciverba._level);
    };

    mc2.onMouseUp = function() {
    this.startDrag();
    this.swapDepths(maxLength++);
    };

    mc2.onMouseDown = function() {
    this.stopDrag();
    mc2.swapDepths(mc2._level);
    };

    e i movimenti (alla pressione o al rilascio del mouse) e gli avanzamenti in primo piano funzionano...ma le azioni degli swf esterni sono andate a farsi benedire!! :mmm:

    Niente...devo trovare altre soluzioni!! ... Ma ci sono quasi :P....credo :eheh:

    Ti ringrazio comunque per l'attenzione!! 🙂


  • User Attivo

    ora provo a spostare la discussione su AS.2.0 ...magari lì c'è qualcuno che ha avuto il mio stesso problema 😉