ILVA RUDEV (90 pts)

AMAURY BENTES (123 pts)

SÁVIO PONTE (39 pts)

DENIS CARAVALHO (85 pts)

FÁBIO DUARTE (79 pts)

DEMIS BUCCI (50 pts)

KEN AWAMURA (130 pts)

JOTA LAGO (40 pts)

NETO LEAL (116 pts)

EDUARDO PERROUD (52 pts)

EDUARDO WALMOTT (226 pts)

PANDOGO (82 pts)
Treinamento PontoFlash de Flash e ActionScript

Técnica para facilitar o acesso de documentos XML pelo Flash.

Como validar um email no Flash 5?

Como eu faço um sorteio (random) e ir para o frame sorteado?

Gostaria de saber se tem como ao clicar em uma imagem pequena, abrir uma janela maior com a imagem ampliada.

Como carregar um filme dentro de um movieclip que por sua vez está dentro do meu filme principal?

Como fazer um autoRun para um executável do Flash?

Como enviar uma ação de um movieclip para a timeline principal?

Como fazer um ponteiro como o do jogo da Fortuna, que faz N giros e depois para?

Como aplicar um efeito alpha (fade out) em um outro swf de nivel superior aberto através do loadmovie?

Como fazer um movie clip animado com alpha gradativo?

Como determinar o tempo que uma HTML ficará aberta?

O que é a opção Interlaced quando vou salvar um bitmap PNG?

Alguém poderia me dar uma explicação sobre instâncias de movieclip?

Importei um MOV pro flash, só que quando testo, o vídeo não começa.
Redimensionar um filme no modo de edição

Enviando EMAIL com ASP, COLDFUSION E PHP

Envio de um arquivo SWF por e-mail

Chromeless com Flash.

Comunicação Flash-PHp-MySql - introdução

Barneys_menu.

Jogo da Forca (terceira parte)

A história do Flash.

Detecção do FlashPlayer.

Includes.

EmbedFonts e Mini-dicionário Style

Shared object.
On Off Button

MovieClip.onCollision

F5scrolltext

ICQ

Embaralhar texto

Barra de Scroll

Preloader marquee

Engrenagens 1

Menu HitTest

Sound

Busca texto

Keypress
HOME | TUTORIAIS
Event Handlers (identificadores de eventos).
por Helen Triolo

Utilizaremos o mesmo gráfico pizza que nós usamos nos tutoriais Desenhando apenas com Actionscript e CreateTextField, para continuamos a dar uma olhada nos identificadores de eventos (Event Handlers), uma outra nova função do Flash MX.

   Identificadores de eventos são métodos de um objeto (nesse caso, métodos residentes de um objeto movieclip) que permitem que você especifique o que vai acontecer quando certos eventos acontecerem, como um clique de mouse ou mudança de texto, ou ainda o filme entrando no quadro no qual um movieclip reside.

   Aqui está um exemplo (que não tem nada a ver com o exemplo do gráfico de pizza acima - voltaremos a ele num minuto) no qual criamos um novo movieclip, com nome de instância triângulo, na linha de tempo principal e então usamos a função designada em onEnterFrame para girá-la:

// desenhando um triângulo
this.createEmptyMovieClip("triangle", 1);
with (triangle) {
lineStyle(1,0x00ff00);
beginFill(0x00ccff);
moveTo(0, 0);
lineTo(200, 150);
lineTo(70, 130);
lineTo(0, 0);
endFill();
}
triangle._x = 100;
triangle._y = 100;

// rotacionar cinco graus por frame
triangle.onEnterFrame = function() {
this._rotation += 5;
};

   Se você recortar e colar o código dentro do frame 1 num filme vazio, deverá ver um triângulo azul com margens verdes girando em volta de um de seus vértices. Agora é fácil montar uma ação contínua em Flash. Mas existem duas coisas a ter em mente quando trabalhar com identificadores de eventos:

O alvo do código dentro da função manipuladora é a linha de tempo na qual a função é definida, e

"this" (sem as aspas) por dentro da função refere-se ao objeto para o qual a função é anexada.

   No exemplo acima, o alvo da função é a linha de tempo principal, _root, já que é aí que os códigos residem. Usar "this" dentro da função significa aplicar _rotation ao movieclip triângulo, já que esse é o objeto para o qual a função onEnterFrame está declarada. Se deixarmos de fora o "this" e dizermos apenas _rotation += 5, o palco todo (tudo na linha de tempo principal) irá rodar (junte alguma coisa mais ao palco e experimente, se você quer a prova disso).

   No exemplo do gráfico de pizza, o evento a ser "manipulado" é a passagem do mouse sobre quaisquer dos segmentos do gráfico. Quando isso acontecer, o conteúdo do campo do texto abaixo do gráfico de pizza deverá mudar para mostrar mais descrições sobre um segmento em particular. Para ajustar as coisas, criamos primeiro um campo de texto com nome de instância moreinfo e atribuímos a ele formatação e conteúdo, assim:

this.createTextField("moreinfo", a*10+2*(angles.length+1), 20, 200, 360, 100);
tFormat.color = 0x000000;
this.moreinfo.setNewTextFormat(tFormat);
this.moreinfo.multiline = true;
this.moreinfo.wordWrap = true;
this.moreinfo.text = "Passe o mouse num segmento para mostrar os detalhes";

   Entendido isso, podemos mais tarde aplicar um método para cada segmento (um movieclip) do gráfico pizza para fazê-lo mostrar informações detalhadas sobre aquele segmento no campo de texto moreinfo. Sempre que um dos identificadores de eventos de mouse é aplicado a um movieclip, ele se torna no que a Macromedia chama de um "botão movieclip". Isto é, uma mão aparece sobre o botão quando o mouse passa em cima, e frames rotulados podem ser utilizados na linha de tempo do movieclip para definir seus estados up, down ou over. No nosso caso, o movieclip é criado do código, e assim não existe linha de tempo - nós simplesmente queremos definir uma seqüência de instruções que será criada quando o usuário passar o mouse sobre o movieclip. Esse é o código que executa aquilo que eu falei:

this["arc"+a].onRollOver = function() {
var myNumber = Number(this._name.substr(3));
moreinfo.text = legendText[myNumber-1] + " (" + Math.round(angles[myNumber]*100/360) + "%): " + notes[myNumber-1];
}

   Temos que escrever a função de forma a exibir a informação para o movieclip correto no tempo de execução. Por exemplo, quando movemos o mouse por sobre arc4, o Flash checará a função que nós definimos para decidir o que fazer. Assim, não podemos usar a variável dentro da função para endereçar o clip, ao invés, usamos o nome do clip - especificamente, o 4º caráter do nome - para descobrir qual o clip em cima do qual o mouse está atualmente. A linha ...

var myNumber = Number(this._name.substr(3));

... diz: Tome o 4º caráter do nome do movieclip do qual o mouse está sobre atualmente e o converta para um número. A próxima linha, ...

moreinfo.text = legendText[myNumber-1] + " (" + Math.round(angles[myNumber]*100/360) + "%): " + notes[myNumber-1];

... diz: use aquele número para obter o nome do segmento da array legendText, a correta percentagem para esse segmento, e as notas a serem mostradas nesse segmento. Fazer uma string para concatenação de todas essas informações e mostrá-la no campo de texto moreinfo.

   O código que desencadeia aquelas duas etapas é colocado dentro de uma função, a qual está determinada para esse ["arc"+a].onRollOver, um "manipulador" que dispara sempre que o mouse está sobre um movieclip denominado arc1, arc2, etc., na linha de tempo principal. Note que, porque estamos botando este código na linha de tempo principal, não temos que colocar nenhum caminho na frente da moreinfo.text, porque o objetivo do código na função manipuladora é a linha de tempo no qual ele está definido, de forma que é aí, automaticamente, onde Flash irá olhar para achar moreinfo.

   É isso aí. Uma vez que a função tenha sido definida para um movieclip em particular, ela terá efeito a qualquer momento em que um evento de mouse particular acontecer naquele movieclip. O código inteiro do exemplo acima, incluindo a configuração do gráfico pizza, legendas e definições dos eventos rollOver, pode ser visto nesse link.

Tradução:
Sérgio Ramalho



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
1 comentário


Comentário de jiminuscriudis
| 26/10/2010 - 11:27 |


dahora muthu loko firmão manero tudibom tchau??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????/