SÁVIO PONTE (39 pts)

GUILHERME G.G. (137 pts)

FLASHGURU (155 pts)

GUILHERME SCHEIBE (49 pts)

LEANDRO AMANO (83 pts)

LUIZ AVANCI (51 pts)

DEMIS BUCCI (50 pts)

RÔMULO NUNES (32 pts)

MUZAK (45 pts)

RODRIGO AMARAL (56 pts)

RICARDO TAKAHASHI (180 pts)

EDUARDO WALMOTT (226 pts)
Treinamento PontoFlash de Flash e ActionScript

Existe algum programa freeware que transforma um swf num protetor de tela?

É possível usar meta tags para evitar que os SWF vão para o cache?

Como substituir uma letra de uma string?

Como utilizar a função para procurar valores dentro de uma variável?

Como posso fazer uma validação de CPF?

É possível modificar uma animação de acordo com a hora do dia?

Queria fazer um mouse trail com easing, mas que o movieclip ficasse sempre embaixo do mouse.

Como mudar a cor do mouse over de 23 botões, por uma única actionscript?

Como eu faço para colocar um arquivo som nos botões?

Tem como posicionar uma imagem aberta com Load Movie (jpg)?

Como posso dessaturar uma foto para seus níveis de preto e branco?

Preciso enviar um formulário integrando Flash e ASP.

Flash 5 ou Flash 4?

É possível incluir imagens em um arquivo HTML inserido dentro de um Flash e com scroll?
Linha que segue o mouse.

Simulando botões d'água no PhotoShop.

Objeto XML - introdução.

Envio de um arquivo SWF por e-mail

Objeto Movieclip - Endereçamento (primeira parte)

Configurando texto via actionscript.

Animação no Flash

Variáveis de arquivos de texto.

Alterar a parência dos componentes do FlashMX.

Janelas tipo Windows com Swap Depth

Rayoflight.

Entendendo como funciona um preloader - Segunda parte
Grass and wind

Photofade

Preloader marquee

Primeira letra maíscula

Bounce gravity glow

Sashacircle 4

Placar

Validação de senha e login

Search

Embaralhar texto

Over menu

Tangran
HOME | TUTORIAIS
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
            l++;
            espaco++;
            i++;
            if (l == colunas) {
               // uma condicional para checar se o número de letras
               // por linha (variável "l") é igual ao
               // numero de letras desejado (variável "colunas"),
               // caso seja, a variável "l" é zerada e a variável
               // que designa a posição _y (variável "entrelinha") é incrementada
                l = 0;
                espaco = 0;
                entrelinha += 11;
            }
            if (i>=s.length) {
                // Uma condicional que anula o enterframe assim que
                // a variável "i" for igual ao número
                // de elementos da array, para parar de attachar os MovieClips
                    onEnterFrame = null;
                    var z:Number = 0;
                    // crio outra variável para que em conjunto com um outro
                    // evento enterframe, automatize
                    // o play nos Movies attachados, é o que vai fazer o tween
                    // de alpha 100 para alpha 0, na
                    // timeline do movieClip "letra_mc"
                        alvo.onEnterFrame = function() {
                        movie_2 = alvo["letra_mc"+z];
                        movie_2.play();
                        if (movie_2.letra_int._alpha<=0) {
                            // quando o valor de alpha do último movie attachado
                            // for <=0 anula o segundo
                            // enterframe, remove os MovieClips e chama novamente
                            // a função, reiniciando o processo
                            alvo.removeMovieClip();
                            alvo.onEnterFrame = null;
                            letras();
                        }
                        z++;
                    };
                }
            };
        } else {
            // Caso o texto não seja carregado cria-se um
            // textField que exibirá a mensgame de erro
            _root.createTextField("msg", getNextHighestDepth(), 100, 200, 300, 60);
            msg.autoSize = true;
            msg.border = true;
            msg.html = true;
            msg.htmlText = "<font size = '18' face = 'arial, _sans'>Falha ao carregar dados externos</font>";
        }
    };
    m_lv.load("letras_tutorial.txt");
    // carrega o txt externo para o objeto load vars criado
}
letras();
// chama a função criada acima

Baixe o arquivo de exemplo aqui.



Devido à reformulação implementada no site, pode ser que você encontre alguns links quebrados. Por favor, ajude-nos a corrigir eventuais problemas nos informando links quebrados
0 comentário