Questa volta voglio presentarvi un mio tutorial per realizzare un effetto testuale con actionscript 2, il testo è assolutamente dinamico e potrebbe essere collegato ad un file XML per la modifica, in questo caso lo lascio inserito nel codice in flash.
Ecco un esempio di ciò che realizzaremo:
La cosa bella di questo progetto è la possibità di effettuare molti tipi di effetti al testo, potendolo gestire senza grossi problemi. Vediamo il codice:
Innanzitutto inserisco il file sorgente del progetto.
In questo caso ho inserito il codice direttamente dentro i frame in Flash, precisamente nel 1, 2 e 4 frame.
Vediamo il codice del primo frame:
//impostiamo una variabile numerica globale (in questo "i") a zero.
_global.i = 0;
//inseriamo qui il testo da scrivere
testoDaScrivere = ' effetto testo con AS2, Enrico Viola';
//impostiamo un'altra variabile numerico che legge il numero di caratteri del testo da scrivere
max = testoDaScrivere.length;
Ecco il codice commentato del secondo frame:
//aumentiamo il valore di "i" di 1
_global.i = Number(_global.i)+1;
//creiamo nello stage un MovieClip denominato "txt0"
//(che contenga all'interno un campo di testo dinamico
//denominato "testo interno") e duplichiamolo nominanto
//i successivi clip con "txt + numero di i"
duplicateMovieClip("txt"+(i-1), "txt"+i, i);
//creiamo ora una nuova variabile stringa che ogni volta
//memorizzi una lettera della frase da scrivere.
var miaSottoStringa:String = new String();
//per fare questo usiamo il comando "substr(i,1)", ossia partendo
//dal carattere in posizione "i" ne prendiamo 1 (quello successivo)
//e lo memorizziamo in "miaSottoStringa", ovviamente aumentando
//costantemente il valore di "i" sino al numero massimo di caratteri
//della frase memorizzeremo ogni volta ad 1 ad 1 tutti i caratteri.
miaSottoStringa = testoDaScrivere.substr(i,1);
//per ogni MovieClip "txt + i" memorizziamo la sotto stringa. Il MC
//"txt +i" conterrà al suo interno un altro MC che contiene poi la
//stringa di testo, in questo modo possiamo realizzare qualsiasi
//animazione che desideriamo al cli "MCtestoInterno", questa animazione
//sarà ripetuta per ogni carattere che estrapoleremo.
this["txt"+i].MCtestoInterno.testoInterno.text = miaSottoStringa;
//ovviamente dobbiamo anche staccare fra loro i movieclip con le lettere
this["txt"+i]._x = 12 * i;
Infine il codice del quarto frame (questo può essere anche situato nel 3 o 5 o 6, ecc. frame per aumentare o diminuire la velocità di visualizzazione dell’effetto):
//controlliamo, tramite un ciclo for, che il valore di "i" non
//supero "max", se vero ritorniamo al frame 2 (quello in cui vi è
//la funzione di estrapolazione del carattere).
if(Number(i)<=Number(max)){
gotoAndPlay(2);
}
//altrimenti fermati
else{stop();}
Novembre 6th, 2009 at 14:07
Che minchiata di effetto. Esistono milioni di programmi che fanno effetti molto più belli con un semplice CLICK!
Novembre 16th, 2009 at 15:42
I programmi invece ti richiedono sempre di inserire un testo subito, anzi ne consiglio un programma fantastico per Flash:
SWFText