Cavilli?

No, scherzo... Voglio dire: qual è il problema, dal momento che lo script funziona? contr può essere anche "giovanni"; è una variabile di semplice "appoggio" booleano ed è insita nella funzione, come dire: si dichiara da sé. Per analogia, in elettronica è come un transistor con due sole condizioni possibili: "aperto-chiuso".
Il "this" è il percorso della timeline, virtuale nel virtuale, di "mio_mc", sulla quale opera l'onEnterFrame.

Codice alternativo o sintassi alternativa?
Per la seconda:
1 - l'eguaglianza "==" (senza spazio, sennò non funzica) può essere omessa, in condizione, per settare la booleana decisamente in true... La condizione già vera è stata usata per supportare l'else successivo. Al proposito ricordo, anni fa, un commento del Grandissimo che riportava:

if (a) { // Se a è vera (e lo è !) :maLOL: (lo adoro...)
...
}

Qualche carattere in meno da scrivere?

2 - A che servono tutti quei decimali se l'alpha non può superare 100 ?

mio_mc.onEnterFrame = alfa;
function alfa() {
if (this.a ) {
this._alpha -= 3;
if (this._alpha <= 0) {// è lo stesso ma alpha non può essere in modo assoluto minore di 0...
//...Ara che 'l Flash se 'ncassa

this.a = false;
}
} else {
this._alpha += 3;
if (this._alpha >= 100) { // Come sopra ma per ragionamento inverso
this.a = true;
}
}
}

enigma_79 e Raffa62 (l'è 'n pesso che no te vedea qua)

Insomma: ciao a tutti,

NAP