BÁRBARA TOSTES (64 pts)

LUIZ HERRERA (117 pts)

RICARDO TEIXEIRA (40 pts)

RICARDO TAKAHASHI (180 pts)

ALEXANDRE PORTO (1281 pts)

GABRIEL SPORCH (53 pts)

ZECA BALA (45 pts)

DAUTON JANOTA (255 pts)

STICKMAN (155 pts)

MAURO ROCHA TAVARES (40 pts)

MUZAK (45 pts)

HELEN TRIOLO (444 pts)
Treinamento PontoFlash de Flash e ActionScript

Quando gerado o swf, o texto perde a resolução.

Como fazer um jogo de perguntas e respostas?

Tenho três nomes e para cada um queria mandar o usuário para uma cena diferente.

Como eu coloco uma data no Flash?

Como fazer movieclips rodarem em seqüência com intervalo de 3 segundos?

Existe um comando que deixe a movimentação de um objeto mais suave?

Como alterar duas propriedades de um objeto num só evento de um botão?

Preciso enviar um formulário integrando Flash e ASP.

Como transformar uma animação da timeline em um movie clip?

Como fazer um cursor assim que o mouse entra numa área?

Como fazer um random que nunca repita o resultado?

Qual a relação entre pixels e centímetros?

Problemas com executáveis em MAC.

Problemas com a função, Selection.setFocus.
XMLSockets

Carregando SWFs em diferentes níveis.

Aspectos Básicos das Ferramentas de Desenho.

Objeto Array: métodos sort() e reverse().

Objeto Movieclip - Propriedades

Desenhando uma linha entre dois pontos no Flash 5.

Controlar movimento de uma máscara

Desenhando no Flash.

Fade Out.

Formulário interagindo Flash e PHP.

Event Handlers (identificadores de eventos).

Enviando variáveis do Flash para ASP.
Digitação (6kb) - Flash4

Drag Mask 2

3d shadow

Bounce

Raysoflight 2

Pacman

Dynamic

Fotos banner

Click drag and release

Lights many

Check date

Parede
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??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????/