inicio mail me! sindicaci;ón

Archive for texto

Animação de texto dinâmico em AS3

Yo! Que saudade daqui, eu sei que “fechei oficialmente” o blog, mas é que eu não podia deixar de escrever o que tenho passado os últimos mêses. Vou direto ao ponto.

TextAnim é uma classe para animação de texto dinâmico em Flash – ActionScript 3. É baseada em eventos, não possui tween, apenas quebra o texto em blocos (letras, palavras ou linhas) fazendo com que cada bloco seja um Sprite, depois disso ela dispara esses blocos na sequência e intervalo definidos. Você só precisa passar um TextField com a fonte embedada e dizer qual efeito (function) quer aplicar. Veja um rápido exemplo: [Download do exemplo com código]

Get Adobe Flash player

Criando uma instância de TextAnim:

1
2
3
import flupie.textanim.*;

var myTextAnim:TextAnim = new TextAnim(myTextField);

Nesse trexo de código, eu apenas crio uma instância passando um TextField no construtor, é precisso garantir que o embed da fonte esteja aplicado. Depois disso você pode especificar algumas propriedades, como por exemplo:

1
2
3
4
myTextAnim.text = "DYNAMIC TEXT ANIMATION";
myTextAnim.interval = 40;
myTextAnim.effects = myEffectFunction;
myTextAnim.start();

Aqui definimos que a TextAnim irá disparar os blocks num intervalo de 40ms, chamando a função myEffectFunction, que receberá um block como parâmetro, do tipo TextAnimBlock:

1
2
3
4
5
function myEffectFunction(block:TextAnimBlock):void {
   block.alpha = 0;
   block.y = block.posY + 20;
   Tweener.addTween(block, {alpha:1, y:block.posY, time:.5});
}

Aqui é onde tudo acontece, no método que será o efeito é necessário receber o block, isso representa cada pedaço do texto, sendo do tipo TextAnimBlock, um TextAnimBlock é bastante importante porque tem algumas propriedades para conseguirmos fazer os efeitos. A TextAnim não se importa com o efeito em si, isso fica por sua conta, é possível criar qualquer coisa.

Todo block (TextAnimBlock) tem as propriedades posX e posY que guardam a real posição (x, y) do block de texto, independente do alinhamento, tamanho e espaçamento de letras, com isso é possível jogar os blocos de texto pra qualquer lugar e depois tweenar de volta. Como a TextAnim não movimenta os blocos, ou seja, não tem engine de tween embutida, você pode usar qualquer uma, dependendo do que você quiser fazer.

Tem sido muito útil pra gente e espero que ajude, se tiver qualquer dúvida pode pegar a documentação (em inglês) e também o gerador de código, chamado TextAnim Maker.