ZEBEDIAH (35 pts)

GUILHERME G.G. (137 pts)

KEN AWAMURA (130 pts)

LUI FERNANDO (151 pts)

RICARDO TAKAHASHI (180 pts)

MARLOS ALVES CARMO (90 pts)

RÔMULO NUNES (32 pts)

HELEN TRIOLO (444 pts)

AUTOR DESCONHECIDO (100 pts)

RICARDO TEIXEIRA (40 pts)

DENIS CARAVALHO (85 pts)

PANDOGO (82 pts)
Treinamento PontoFlash de Flash e ActionScript

Preciso remover todas as arrays que tenho em um movieclip?

Como colocar uma ação no clique de um movieclip, sem aparecer a mãozinha?

Quero abrir uma janela popup do Flash.

Alguém sabe como desabilito o botão direito do mouse no HTML?

Quero saber mais sobre interação Flash X banco de dados (sql mysql etc).

Como é que eu faço para diminuir a velocidade da minha apresentação? Tentei mudar o Frame Rate mas não adiantou.

Como fazer para desabilitar a tecla tab do menu de botões?

Como duplicar um movieclip (duplicateMovieclip) e colocá-los abaixo do original?

Dá para fazer comércio eletrônico com o Flash?

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

Porque os símbolos de porcentagem (%) de um arquivo txt não aparecem num campo de texto?

Como fazer que num movie tenha três músicas, onde eu posso parar e continuar de onde ela parou?

Flash 5 ou Flash 4?

E o FlashMX não aceita eval para gerar uma variável?
Avaliação do site de O Boticário

Cadastro de usuários, com Flash+ASP

Máscaras no Fireworks MX, o mistério!

Jpeg, Gif, texto, gradientes X slices no Fireworks

Objeto XML - introdução.

Carregamento dinâmico de JPG e máscara por AS

Loop Mixer.

Um contador Flash + PHP

Load Movie into level (nível)

Flash MX 2004 Updater

LOAD vs XMLConnector, vantagens e diferenças no carregamento do XML

Animate - Fireworks
Barneys menu

Mouse tracks

Frame navegação

Spring menu2

Catavento

Load image

Ball & shad

Menu elástico

Duplicate MC

Calendário

Raio_x

Combobox
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