RICARDO TEIXEIRA (40 pts)

FÁBIO DUARTE (79 pts)

STICKMAN (155 pts)

PEDRO CLAUDIO (50 pts)

JOTA LAGO (40 pts)

AMAURY BENTES (123 pts)

DENIS CARAVALHO (85 pts)

DAAFY (55 pts)

BÁRBARA TOSTES (64 pts)

DANIELA PIRES (86 pts)

GUILHERME G.G. (137 pts)

MUZAK (45 pts)
Treinamento PontoFlash de Flash e ActionScript

Como eu coloco uma data no Flash?

Como colocar um link em um banner swf?

Por problema de cache, nem sempre o Flash5 pega o último arquivo (.xml) gerado.

Como colocar eventos de botão em um movieclip no FlashMX?

Não consigo mudar o foco do HTML para o objeto flash.

Estou tentando fazer uma inclusão de um cadastro no db.

Posso criar um campo de texto do tamanho do meu texto?

Quero que um filme aberto com load movie, abra no frame 15.

Preciso rodar um AVI no flash com controladores: PLAY, PAUSE, STOP.

Como dar um bom dia, boa tarde e boa noite dependendo da hora?

Como fazer para que a cada "refresh" da página, apareça um banner diferente?

Quero dar 2 loops em um Wav e só depois seguir em frente com a timeline.

Algumas dicas de tipografia.

Como faço para um moviclip mostrar as coordenadas do mouse e para que um movieclip movimente-se de acordo com o mouse, mas no sentido contrário.
Desenhando um avião no Flash

Bolhas flutuantes.

Ação Imprimir.

Trace Bitmap.

Variáveis no Flash MX

Botão estilo Apple, feito no Flash.

Como criar objetos 3D no Fireworks.

Flash MX 2004 Updater

Desenvolvendo um Tocador de Vídeo em Flash

Configurando texto via actionscript.

Rotacionar objetos 3D no Flash.

Sistema de busca utilizando Flash + ASP.
Álbum de fotos

Menu com abas

Radio button 1

Ampulheta

Lighttext

Formulário

Menu Flash e XML

Marquee

Esferas conectadas

Fract

Statusload

Mouse recorder
HOME | TUTORIAIS
Color changer
por Helen Triolo

O que vai ser meninas? -- solteirão1, solteirão2, ou solteirão3? Vamos escolher um Mr. Green? Mas porque não podemos ter todos? A propriedade setRGB do objeto Color permite que você escolha dinamicamente uma cor qualquer para um movieclip e nio flash MX também para um botão.

Tente você mesmo (crie um objeto movieclip e escolha sua cor).

1) Desenhe um círculo no palco. Selecione o círculo e pressione F8, escolha movieclip.

2) Dê ao seu movieclip o nome de instância: mcCircle. Agora, mcCircle é o nome de seu objeto movieclip.

3) Adicione agora o código para colocar uma cor em seu movieclip. Selecione o frame 1 na timeline e abra o painel Frame Actions (Window, Actions or ctrl-alt-A). Cole isso na janela:

cCircle = new Color("mcCircle");
cCircle.setRGB(0x3399ff);
stop();

Acabamos de criar um novo objeto Color (cCircle) que determina a cor do movieclip mcCircle. Depois uma cor é especificada (azul claro = hex 3399ff) para esse objeto. A instrução stop não é essencial, mas não deixa a timeline ficar em loop desnecessariamente.

4) Teste o filme (Control, Test Movie). Você verá um círculo, mas agora com uma cor azul clara (note que todo o clip fica colorido, tanto linhas quanto preenchimento. Se a cor não mudou, volte ao painel Instance (ctrl-I), selecione o movieclip no palco e confira se ele realmente está com o nome de intância mcCircle. Confira também se o número de seu código está precedido por "0x" (sem aspas) para dizer ao flash que esse é um número hexadeciomal.

   A magem acima mostra como nós escolhemos a cor de Mr. Green criando um movieclip separado contendo apenas sua pele (nome de instância mcSkin). Um objeto Color foi criado para referenciar apenas esse movieclip, como será mostrado a seguir.

   Para conseguir mudar a cor de um movieclip continuadamente, como no exemplo acima, precisamos usar uma rotina de eventos para movieclip (onClipEvent). Em nosso exemplo, usamos dois eventos: onClipEvent(load), para declarar as condições iniciais, e onClipEvent(enterFrame), que é executado todo o tempo em que o frame no qual esse movieclip se encontra estiver ativo (em nosso caso, continuadamente, já que nosso filme tem apenas um frame com uma ação stop). Baixe aqui o exemplo.

O código:

Esse código deve ser colocado no objeto movieclip "mcSkin":

onClipEvent(load) {
   colorFace = new Color(this);
   var cnRedStart = 116;
   var cnGreenStart = 78;
   var cnBlueStart = 23;
   var cnRedRange = 126;
   var cnGreenRange = 111;
   var cnBlueRange = 89;
   var i = 0;
   var lDir = 0;
   _root.lPlaying = 1;
}

onClipEvent(enterFrame) {
   if (_root.lPlaying) {
      nRedSkin = cnRedStart+(i*.01)*cnRedRange;
      nGreenSkin = cnGreenStart+(i*.01)*cnGreenRange;
      nBlueSkin = cnBlueStart+(i*.01)*cnBlueRange;
      i = (lDir==0 ? i+1 : i-1);
      if (i > 99 || i < 1) {
         lDir = !lDir;
         i = (lDir==0 ? 0 : 99);
      }
      colorFace.setRGB(nRedSkin<<16 | nGreenSkin<<8 | nBlueSkin);
   }
}

Eis a explicação do código:

O código do onClipEvent(load):

colorFace = new Color(this);

Essa expressão cria um novo objeto color e o associa com o movieclip corrente (mcSkin). "this" sempre se refere ao movieclip no qual a rotina onClipEvent está associada.

var cnRedStart = 116;
var cnGreenStart = 78;
var cnBlueStart = 23;

Essa três linhas declaram 3 variáveis e indicam a quantidade de vermelho(R), verde(G) e azul(B) que irão definir a cor inicial do objeto. Os números usados são valores decimais RGB. Nós usamos "cn" na frente do nome da variável para designar que é uma constante (a variable whose value will not actually change during the movie, but which provides a convenient location to change this number, no matter how many times it is used in the code, should we ever want to change the starting skin color).

var cnRedRange = 126;
var cnGreenRange = 111;
var cnBlueRange = 89;

Essas variáveis também são constantes, como as três primeiras, mas essas definem a variação dos valores de vermelho, verde e azul entre a cor que queremos começar a animação e a cor na qual queremos terminar. Nós obtemos esses valores simplesmente escolhendo uma cor inicial e uma cor final e subtraindo os valores iniciais de RGB (individuamente) dos valores finais de RGB para conseguir a variação.

var i = 0;

Decidimos variar a cor do escuro para o claro em 100 frames. Para fazer isso, nós temos que setar a cor em cada frame to the start color plus 1/100th of the range for that color. Essa variável, i, mostra onde estamos nesses 100 frames.

var lDir = 0;

Decidimos também que seria bom que a cor volte do claro ao escuro nos próximos 100 frames. A variável lDir indica a direção da mudança de cor: 0 significa que estamos indo do escuro para o claro, 1 significa o oposto.

_root.lPlaying = 1;

Essa expressão declara uma variável que é usada no botão on/off (um movieclip com um botão dentro). Essa variável é declarada na timeline principal (_root) e indica que o filme está atualmente rodando (lPlaying = 1 = true).

O código do onClipEvent(enterFrame):

if (_root.lPlaying) {...}

Essa expressão checa se o usuário colocou o movieclip no modo off. A variável lPlaying foi declarada na timeline principal de modo a poder ser referenciada por tantos movieclips quanto forem necessários. Se o valor é 1 (true), o código enterFrame é executado. Note que não temos que explicitar dizendo que if (_root.lPlaying == true) ou if (_root.lPlaying == 1). Enquanto a condicional entre parênteses (_root.lPlaying) é avaliada como verdadeira (true), o código seguinte é executado.

nRedSkin = cnRedStart+(i*.01)*cnRedRange;
nGreenSkin = cnGreenStart+(i*.01)*cnGreenRange;
nBlueSkin = cnBlueStart+(i*.01)*cnBlueRange;

Essa linhas indicam valores RGB para o movieclip skin dependendo em qual dos 100 frames ele está agora gravado pela variável i).

i = (lDir==0 ? i+1 : i-1);
if (i > 99 || i < 1) {
lDir = !lDir;
i = (lDir==0 ? 0 : 99);
}

Esse código muda a direção de escuro-claro para claro-escuro quando eu chego no frame 100 ou no 0. Isso também zera o valor de i consequentemente.

colorFace.setRGB(nRedSkin<<16 | nGreenSkin<<8 | nBlueSkin);

Finalmente nós damos ao movieclip skin as cores especificadas nas três variáveis RGB. Isso é feito pelo desvio binário de cada um dos valores nos seus locais apropriados.

Tradução:
Alexandre Porto



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