Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Ordine di esecuzione delle azioni!!!

    Ciao a tutti, sono nuovo di qui spero qualcuno riesca da aiutarmi.
    Sto approfondendo le mie conoscienze di Action Script e come primo approfondimento, diciamo, sto realizzando un sito in cui gestisco i movimento di clip e l'effetto alfa mediante AS.

    Ora la mia domanda è questa.
    Volevo sapere se in flash si può dare l'ordine di esecuzione di certe azioni:
    Faccio un esempio:
    Ho 3 clip filmato ok? Voglio dire a FLASh (mediante ACTION SCRIPT)

    Dissolvi clip01
    dopo che hai dissolto clip01 fai uscire clip02
    dopo che hai fatto uscire clip02
    fammi scomparire clip03

    Capite qual'e' la mia domanda?
    Io molto banalmente ho messo due azioni una sopra l'altra di riga ma ovviamente Flash me li esegue tutti e due contemporaneamente, pero' mi piaceva l'idea di gestire tutto in ActionScript ma non so come dargli l'ordine di esecuzione. Si puo' fare?

    Grazie a tutti per l'attenzione...
    Michele

  2. #2
    Devi controllare tu quando un'azione è terminata in questo caso.
    Ad esempio se usi l'_alpha per rendere invisibile un movieclip, devi controllare quando l'alpha è uguale a zero prima di far sparire l'altra clip, così

    clip1.onEnterFrame = function(){
    this._alpha -= 5
    if(this._alpha == 0){
    clip2.onEnterFrame = function(){
    this._alpha -= 5
    }
    delete this.onEnterFrame
    }
    }

    In questo modo solo quando "clip1" avrà alpha pari a zero partirà la dissolvenza di "clip2".

  3. #3
    Ciao broly, bhe innanzi tutto ti ringrazio tantissimo per la risposta. La cosa sembra molto semplice.
    Ascolta ho provato il tuo codice su un file a caso.
    Clip 1 mi va via, ma clip 2 invece rimane fisso. non scompare...

    Problema mio?

    mick

  4. #4
    Sicuro di aver assegnato i giusti nomi istanza ? Il codice l'ho scritto al volo quindi potrebbe anche esserci qualche errore , però mi sembra giusto

  5. #5
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    probabilmente hai cambiato il decremento e non si verifica + la condizione
    if(this._alpha == 0){

    prova così:
    i=1
    maxclip=3
    var path=_root
    function alfa(i){
    if(i<=maxclip){
    path["clip"+i].onEnterFrame = function(){
    this._alpha -= 15
    if(this._alpha <= 0){
    this._alpha = 0
    delete this.onEnterFrame
    alfa(i+1)
    }
    }
    }
    }
    alfa(i)
    ...altri 5 anni di purga...

  6. #6
    Acc...funziona così...solo che ci sono già un pò troppe istruzioni ehehehehh VVoVe:
    Mi puoi dire un pò cosa vogliono dire piu' o meno? se hai tempo ovvio.

    Così per capire anche cosa faccio e scrivo.

    CIAUZ GENTILISSIMO

    mickey

  7. #7
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    i=1 //indice clip
    maxclip=3 //numero di indice clip massimo
    var path=this //path
    //dichiari la funzione con argomento l'indice clip
    function alfa(i){
    if(i<=maxclip){ //controlli che l'indice clip sia minore o = numero di indice clip massimo
    //se si verifica la condizione esegui le istruzioni seguenti
    //path["clip"+i] equivale al nome istanza clip
    path["clip"+i].onEnterFrame = function(){
    this._alpha -= 15 //decremento alpha
    if(this._alpha <= 0){ //se alpha di path["clip"+i]
    this._alpha = 0 //porti l'alpha a 0
    delete this.onEnterFrame //esci dall'enterframe
    alfa(i+1) //richiami la stessa funzione incrementando l'indice clip
    }
    }
    }
    }
    //chiami la funzione ricorsiva
    alfa(i)
    ...altri 5 anni di purga...

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.