Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Vinniec
    Registrato dal
    Apr 2002
    Messaggi
    195

    Tweening e i movieclip magicamente duplicati

    Ciao a tutti.
    Ammetto che era da tanto che non mi trovavo a tu per tu con actionscript, e devo dire che abituato al visual studio non mi mancava per niente..
    Qualcuno saprebbe spiegarmi perchè i miei movieclip sullo stage in fase di esecuzione si moltiplicano? Mi spiego meglio: ho applicato dei Tween tramite script che si azionano correttamente. Per motivi futili non ho caricato dinamicamente i mc sullo stage, essendo solo 3 li ho appioppati direttamente a mano. Ci sono dei pulsanti che fanno cambiare il contenuto di questi mc e che li resettano in quanto a posizione ed altre baggianate.
    Si può sapere perchè alle volte cliccando questi pulsanti, flash duplica i mc sullo stage come se ci fosse la funzione attachMovieClip oppure duplicateMovieClip???
    E' per via dell'applicazione dei tween? Forse lo faccio in modo malsano? Mi par strano..eppure il mio codice è corretto sia come target che come logica e sintassi.. Sarà per via del fatto che i pulsanti portano la timeline a scorrere dove appaiono i mc?
    Ho messo del codice che cambia il depth del mc che viene cliccato, in quanto cliccandolo si ingrandisce a centro stage e non può essere coperto dagli altri due. Potrebbe essere questo spostamento di profondità che causa la duplicazione?
    A me sembra strano, ma non ci sono altre motivazioni.
    boh
    Me lo ricordavo un pò incoerente come come linguaggio..
    __________________
    non darmi consigli se non te li chiedo!
    .: DUCATI FOR LIFE :.
    *Vinniec*
    __________________

  2. #2
    dovresti postare lo script x capire

    >Ho messo del codice che cambia il depth del mc che viene cliccato, in quanto cliccandolo si ingrandisce a centro stage e non può essere coperto dagli altri due. Potrebbe essere questo spostamento di profondità che causa la duplicazione?

    potrebbe essere ma hai anche qualche funzione che ti fa il drag?

    cosi è un pò difficile ....

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  3. #3
    Utente di HTML.it L'avatar di Vinniec
    Registrato dal
    Apr 2002
    Messaggi
    195
    hai ragione ma il codice è un pò lungo per essere postato, dovrei postare i vari punti in cui si trova (nella root, nei movieclip..) è un mix.
    Il codice per il depth l'ho reso facile:
    ogni qualvolta si clicca sul mc (si ingrandisce..) ed a fine tweening ho posizionato un _parent.swapDepths(_parent._parent.getNextHighestD epth());
    I due parent tra parentesi si riferiscono alla root.
    Mi rendo conto che qui ad ogni clic saliamo di depth in depth, perchè ogni volta flash cercherà un depth maggiore da assegnare al mc.. ma detto sinceramente quando ho scritto il codice mi rompevo di effettuare l'operzione inversa di qui sotto, anche perchè ci sarebbero da "scandagliare" i depth che stanno in mezzo tra il più alto mc ed il + basso mc. Nel caso di 3 mc .. è semplice ma tendo a scrivere codice in qualche modo riutilizzabile, e la soluzione a questa risposta nel caso di n movieclip non è veloce da identificare e scrivere..per cui ho preferito la soluzione sopra.
    Forse è in questo codice il problema.

    nella root che gestisce alcuni tween ho inserito invece
    min = obj.getDepth();
    for (i=0; i<4; i++)
    {
    mname = "photo"+(i+1)+"_mc";
    if (eval(mname).getDepth()<min)
    {
    min = eval(mname).getDepth();
    }
    }

    obj è dichiarato come MovieClip
    i mc vanno da 1 a 3.
    Se ci sono veramente parecchi mc da analizzare consiglio di mettere eval(mname).getDepth in una variabile numerica a parte, richiamandolo quindi una sola volta subito dopo le parentesi del for. Così è + efficiente (anche se non credo che eval(mname)getDepth rubi significanti cicli di cpu.. ma non si sa mai.. non li ho analizzati ancora!! eheh)
    questo codice è facilmente riutilizzabile: sarebbe un loop tra tutti i mc che devono essere analizzati nell'argomento depth. E' importante la prima assegnazione min=obj.getDepth() poichè è il primo argomento di confronto. Così facendo viene memorizzato in min solo il depth trovato + basso tra tutti.

    Un mix tra questi due codici mi ha permesso di gestire correttamente la visualizzazione dei mc posti uno sopra l'altro, sporgenti di poco giusto per essere cliccati.

    Rimane irrisolto il problema della duplicazione dei clip. Può un semplice spostamento di z-order venire interpretato in modo così grottesco?????! Che cazp!

    Che tipo di codice ti serve per il drag? Fammi capire te lo posto se lo posso fare
    __________________
    non darmi consigli se non te li chiedo!
    .: DUCATI FOR LIFE :.
    *Vinniec*
    __________________

  4. #4
    >Che tipo di codice ti serve per il drag? Fammi capire te lo posto se lo posso fare

    non mi serve nessun codice

    la stessa cosa mi capitava usando una funzione x il drag e nello stesso tempo facevo un swap x portare l'elemento draggato sopra agli altri

    ecco xchè ti ho chiesto ...

    se provi ad eliminare la funzione temporamneamente x vedere se il problema è data da quella
    .. anche il fatto che si ingrandisce ...associato al swapDepths potrebbe portare questo problema ..vai x esclusione commenta le funzioni e vedi quale è che ti crea il problema
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  5. #5
    Utente di HTML.it L'avatar di Vinniec
    Registrato dal
    Apr 2002
    Messaggi
    195
    sì ci avevo pensato e ci stavo provando. le funzioni che coinvolgono la z-order non sono. Rimangono quindi i tween.. però adesso ho un mix di delusione/stanchezza per cui mollo un pò. Quando ritorno al progetto elimino i mc dal layer e li carico dinamicamente.
    Già ho letto male quello che hai scritto.. cmq no niente drag!

    Proprio ora mentre scrivo mi viene in mente che ho piazzato tutti e tre i mc sullo stesso layer. Sarà quello il problema? Notoriamente flash vuole ogni mc animato sul proprio layer..
    __________________
    non darmi consigli se non te li chiedo!
    .: DUCATI FOR LIFE :.
    *Vinniec*
    __________________

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.