EDUARDO CARREGA (150 pts)

ILVA RUDEV (90 pts)

RODRIGO AMARAL (56 pts)

DAAFY (55 pts)

JOTA LAGO (40 pts)

GUILHERME G.G. (137 pts)

DEN IVANOV (260 pts)

DEMIS BUCCI (50 pts)

FLASHGURU (155 pts)

RÔMULO NUNES (32 pts)

LEANDRO AMANO (83 pts)

FÁBIO DUARTE (79 pts)
Treinamento PontoFlash de Flash e ActionScript

Como criar uma array (matriz) bi-dimensional (N linhas por 3 colunas)?

Como faço para carregar randomicamente imagens com um botão sem repetilas?

Dicas sobre a inegração Flash e XML usando arrays (matrizes).

Como eu faço de um layer uma descrição de uma foto?

Alguém tem um javascript redirecionador de páginas?

Como fazer uma imagem de background no HTML não se repetir?

Como faço para simular frames dentro do Flash? Sem HTML.

Como faço para validar data de nascimento num formulário?

É possível redimensionar um jpg aberto dinamicamente?

Quero clicar num botão, que está no primeiro exe para chamar o 2° .exe e que o primeiro finalize o segundo.

Como rotacionar (_rotation) um objeto usando uma tecla?

Como se usa o NoCache?

Método sendAndLoad do objeto LoadVars mais fácil.

Como editar a fonte do Label de um compontente RadioButton?
Betinhocarreiro e Dysney.

Sub-Menus entre frames, com o Dreamweaver

Flash MX 2004 - semelhanças com o modelo NET?

Flash e X-Technologies · A Nova Ordem do Mundo?

Jogo tiro ao alvo

Efeito de texto esticado (stretched text).

Gerando XLS a partir de ASP

A história do Flash.

Desenvolvendo um Controle de Volume Customizado em Flash

Turbine seu Fireworks

Scanline no PhotoShop.

Configurando o FTP do Dreamweaver MX
Ponto e inércia

Text lights 2

Keypress

X Position

Preloader simples

Tangran

Airos 2

Magicalcrystalball

Multiple text efects

Caçada

Lente de aumento

Bounce
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