You are on page 1of 3

Animação com TextFields Dinâmicos

por Luiz Avanzi

Baseado num efeito bem antigo, desenvolvi este script simples que combina eventos
enterframe, método attachMovie, variáveis, string, array, objeto LoadVars e
animação de timeline para conseguir um resultado bem interessante. Todo
comentado passo a passo.
function letras() {
// inicia função que fará quase tudo, pois como já vimos acima
// o movimento é feito pela timeline do MovieClip "letra_mc"
var i:Number = 0;
// início da declaração das variáveis, começando com esta, que
// será o incrementada para ler os elementos da array, um a um
var l:Number = 0;
// esta irá comparar o número de letras atual coma variável logo abaixo
var colunas:Number = 51;
// número máximo de letras por linha
var espaco:Number = 0;
// multiplicador da posição _x dos MovieClips carregados (entre letras),
sendo
// incrementado coloca cada movie carregado um pouco mais à direita
var distancia:Number = 7;
// espaço entre as letras, é o outro multiplicador para estabelecer
// a posição _x dos Movies
var entrelinha:Number = 0;
// posição _y (entre linhas), também será incrementada a cada vez que o
// número máximo da variável "l" for igual a variável "colunas"
var m_lv:LoadVars = new LoadVars();
// cria objeto load vars para ler txt externo
m_lv.onLoad = function(ok:Boolean) {
if (ok) {
// Uma condicional para avaliar se o texto foi carregado, caso tenha
// sido chama as ações abaixo
onEnterFrame = function () {
var s:String = m_lv.texto;
// cria uma string, à partir da leitura do txt externo
var arr:Array = s.split("");
// cria um array tendo como elemntos as e espaços letras da string
"s",
// separadas com a função "split()"
this.attachMovie("alvo", "alvo", getNextHighestDepth());
// Chama da biblioteca o movie "alvo", para carregar os outros
// MovieCLips que serão as letras"
alvo._x = 50;
// coordenada _x do movie "alvo"
alvo.attachMovie("letra_mc", "letra_mc"+i, i);
// Através de attachMovie chama a cada enterFrame uma
// instância do movie "letra_mc"
movie = alvo["letra_mc"+i];
// Um recurso para facilitar a escrita, cria-se uma variável e
// atribui-se como valor o
// nome dos movies atachados, muito parecido com o recurso
"eval()"
movie._x = espaco*distancia;
// Usando as variáveis criadas no início, marcamos as
// coordenadas _x dos movies attachados
movie._y = entrelinha;
// coordenada _y dods movies attachados
movie.letra_int.letra_txt.text = arr[i];
// esta linha comanda que o conteúdo da caixa de texto de
// cada movie chamado seja igual ao
// valor do elemento de mesmo número da array, segundo a variável
"i"
// incrementamos as variáveis declaradas no início em uma unidade

You might also like