Visualizzazione dei risultati da 1 a 4 su 4

Discussione: problemi con alpha

  1. #1

    problemi con alpha

    Sto creando un ciclo for così:

    _root.onEnterFrame=function(){
    for(i=1;i<=100;i++){
    logo._alpha=logo._alpha-i;




    }


    }


    mail logo non sparisce anzi sparisce e compare di nuovo ma perche'????
    aiuto!!!!!!!!!!!!!!!!!!!!!!
    eccomiiiiiiii

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    se lo metti così dentro l'enterFrame diventa un ciclo infinito, perchè il codice all'interno viene eseguito continuamente, senza avere mai il tempo di essere effettivamente eseguito

    quello di utilizzare il for per effettuare una trasformazione di proprietà nel tempo, è un errore di progettazione piuttosto comune per chi comincia ad utilizzare AS

    in realtà l'esecuzione del ciclo for è praticamente istantanea ed è parecchio difficile che alla sua esecuzione possa corrispondere un cambiamento visibile, ad esempio della trasparenza di un clip

    [edit] ... ho inviato senza volerlo... proseguo... [/edit]

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    scusate il ritardo... ho dovuto chiudere...

    allora, in pratica esistono dei metodi alternativi che gestiscono il tempo, ad esempio l'enterFrame utilizzato senza il ciclo all'interno e con degli if che verifichino quando il codice deve smettere di fare la transizione

    ad esempio

    logo.onEnterFrame = function(){
    this._alpha--;
    if(this._alpha <= 0){
    this.onEnterFrame = undefined;
    }
    }

    in alternativa esistono altri metodi per il controllo del tempo, e quindi per la gestione delle transizioni via AS, e sono spiegati qui -> http://flash.html.it/articoli/leggi/...empo-in-flash/

    altra alternativa, sfruttando Flash MX 2004 o superiore, è la classe Tween di cui c'è parecchia documentazioni in giro per il web e anche in questo stesso forum, con una ricerca... lascio a te il compito di informarti in merito

    semplificando un tantino il codice dell'enterFrame

    MovieClip.prototype.fadeOut = function(){
    var t_alpha = new mx.transitions.Tween(this, "_alpha", mx.transitions.easing.None.easeNone, 100, 0, 1, true);
    }
    logo.fadeOut();

  4. #4
    grazie infinite.......
    eccomiiiiiiii

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.