Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414

    swapDepth(valore dinamico)

    ciao a tutti

    ho una serie di mc creati dinamicamente, quando clicco su ognuno di loro, dovrebbero passare in primo piano.
    io ho recuperato il valore della depth + alta e vorrei che cliccando il video swappi su quel valore.

    ma non funziona

    qst è il codice

    on (press) {
    this.swapDepths(eval(_root.depth));
    startDrag(this);
    }
    on (release, releaseOutside) {
    this.swapDepths(eval(_root.depth));
    stopDrag();
    }

    dove _root.depth è il contatore che si trova nella root.

    dove sbaglio?
    addirittura capita che swappi sempre il penultimo mc cliccato


    :master:

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Per portare un clip al livello più alto del suo contenitore ti basta questo:

    on (press) {
    this.swapDepths(this._parent.getNextHighestDepth()-1);
    }

  3. #3
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414
    toglimi una curiosità ma
    perchè il -1?

    te lo chiedo perchè io avevo povato qst codice

    this.swapDepths(eval(_root.depth)+1);

    pensando di aggiungere un livello a quello attualmente + alto, e invece me lo passava sotto...


    significa che per far salire in primo piano un oggetto devo avere un numero + basso??

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Quella variabile l'hai creata tu, non viene nè generata nè aumentata da nessuna parte, a meno che non ci sia da qualche parte che non hai segnato.
    Mentre getNextHighestDepth() è una funzione nativa di MovieClip che viene gestita dal player in maniera automatica, e restituisce sempre la profondità successiva non occupata di un determinato clip, perciò per sapere quale sia la posizione più alta occupata, devo richiamare quella funzione e sottrarne il valore ottenuto di un livello, ottenendo la posizione più alta occupata nel clip di riferimento.

  5. #5
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414
    io ho definito sul primo frame la variabile
    depth=0;

    e ogni volta che creavo un mc la variabile _root.depth assumeva il valore del mc con la depth più alta

    la depth di ogni mc era definita da un numero (id) che per ogni mc era diverso, quindi ricliccando sulla thumbnail di un mc già aperto qst non ne creava un altro uguale ma andava a sostituire l'mc nella stessa depth...

    per qst il tuo metodo mi risolve il problema di portare in primo piano l'mc qnd cliccato, ma con .getNextHighestDepth la depth del mc non è + controllabile e quindi rischio di avere doppioni sul mio stage...

    non se sono stato chiaro

    se esistesse un comando tipo "if mc.name exist ...." forse riuscirei a risolvere...

    ma è sbagliato definire così la variabile?

    ancora grazie

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Non mi è chiaro il problema, una volta che tu hai creato i clip, perchè li dovresti ricreare?

  7. #7
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414
    qst clip non sono altro dei pop up con all'interno dei video

    e vengono richiamati da una lista di progetti

    ti posto il link dove puoi vedere l'esempio

    se clicchi sulle thumb con il simbolo del video e ne apri 2 ad esempio

    dopodichè swappi cliccando sulla parte superiore del clip che sta sotto
    ora se provi a riaprire il clip ti ricrea un doppione

    stavo pensando di risolvere disabilitando il bottone, ma poiavrei altri problemi...

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Arrivato a questo punto di creazione è in effetti più difficile gestire la cosa, comunque si può tranquillamente fare come dicevi, usando una condizione che verifichi se quel clip esiste già sullo stage, potresti riportare il codice che usi per quei pulsanti che aprono i video?

  9. #9
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414
    t.onRelease = function() {
    var cc = _root.attachMovie("video_clip", this.titolo+this.id, this.id, {_x(Stage.width/2)-400)+250* Math.random(), _yStage.height/2)+250*Math.random()});

    };

    richiamo dalla libreria l'oggetto "videoclip" e lo rinomino con il "titolo" di quel file + il suo "id", e lo piazzo random sullo stage al livello "id"


  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Perciò dovrebbe essere così:

    Codice PHP:
    t.onRelease = function() { 
        if (
    _root[this.titolo+this.id] == null) {
            var 
    cc _root.attachMovie("video_clip"this.titolo+this.idthis.id, {_x:((Stage.width/2)-400)+250Math.random(), _y:(Stage.height/2)+250*Math.random()});
        }


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 © 2025 vBulletin Solutions, Inc. All rights reserved.