Per ottenere un effetto di dissolvenza incrociata (passaggio da alfa 100 ad alfa 0 e viceversa) in modo continuativo utilizzo questo codice che funziona perfettamente:

mio_mc.onEnterFrame = alfa;
function alfa() {
if (this.contr = = true) {
this._alpha -= 3;
if (this._alpha<0) {
this.contr = false;
}
} else {
this._alpha += 3;
if (this._alpha>99.99999) {
this.contr = true;
}
}
}

Peraltro non capisco la sintassi “this.contr = = true” (valore bollano senza impostare una variabile? parametro?). Ho quindi provato ha riscrivere il codice secondo una mia logica (che a conti fatti è illogica!) impostando una var:

mio_mc.onEnterFrame = alfa;
function alfa() {
var contr:Boolean=true;
if (contr ) {
this._alpha -= 3;
if (this._alpha<0) {
contr = false;
}
} else {
this._alpha += 3;
if (this._alpha>99.99999) {
contr = true;
}
}
}
purtroppo il mc si dissolve, ma non ritorna ad alfa 100.
Sarò grato a chi mi saprà spiegare.
Ciao.