KEN AWAMURA (130 pts)

LEANDRO AMANO (83 pts)

MAURO ROCHA TAVARES (40 pts)

LUIZ HERRERA (117 pts)

ZECA BALA (45 pts)

AMAURY BENTES (123 pts)

GÉRIO (93 pts)

RICARDO FIGUEIRA (33 pts)

DEN IVANOV (260 pts)

DEMIS BUCCI (50 pts)

ILVA RUDEV (90 pts)

DAUTON JANOTA (255 pts)
Treinamento PontoFlash de Flash e ActionScript

Qual seria a diferença entre um MOVIE CLIP e um GRAPHIC?

É possível colocar um goTo como um link dentro de um texto associado a uma variável (texto rolante)?

Como fazer um preloader bem simples?

Quero calcular dinamicamente o valor de uma compra checando o preço e a quantidade comprada.

Como faço para trocar imagens bitmaps sem ter que abrir o FLA.

Não consigo enviar uma ação de dentro de um movieclip para outro. Eles estão em frames diferentes na timeline principal.

Algumas dicas sobre Fontes.

Como rolar umas imagens na horizontal, de maneira que elas se repitam continuadamente?

Como faço para um objeto seguir em um caminho sinuoso?

Como abrir uma janela pop-up tamanho fullscreen?

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

Exemplo simples para entender o prototype.

Funções que geram efeitos especiais no Browser.

Como faço para carregar vários filmes ao mesmo tempo?
Tratamento de um bitmap PNG com o PhotoShop.

Enviando variáveis do Flash para ASP.

Desenho de letras - construindo fontes .TTF. no Corel Draw.

Loop infinito

Gerando pop up's com conteúdo html dinâmico usando script client-side

Movimentar MC com barra de rolagem e setas

Conceitos de Design - Apresentação.

Site da banda os Titãs - Avaliação de sites

XMLSockets

Desvendando cookies

Variáveis, uma visão geral.

Flash MX 2004 - semelhanças com o modelo NET?
Barra deslizante

To Upper Case

Luz

Menu com abas

Ponto e inércia

Shared Object

Timer

Openmenu

Streching menu

campo de texto no Down

Relógio

Dynamic
HOME | TUTORIAIS
Simulando 3D.
por Helen Triolo

Este exemplo mostra um modo simples de simular 3d em Flash pela mudança do sombreado e do tamanho dos objetos no plano de fundo comparados com aqueles em primeiro plano. As funções Math.sin e Math.cos, sempre úteis, estão também incorporadas, para conseguir objetos se movendo em círculos com um senso de perspectiva. Meu muito obrigado a Sev Klaus por tornar o código para fazer isto disponível no site dele, cooool.com. Eu peguei uma cópia numa sexta-feira e bolei as variações acima durante o fim-de-semana.


baixe o exemplo

   No filme acima, usamos o onipresente movieclip controlador tanto para configurar as coisas como para mantê-las rodando. Primeiro criamos uma bola "semeadora" (desenhar a bola, converte-la em um movieclip) e demos a ela o identificador de exportação altamente criativo de expBall. Então, fizemos um movieclip em branco, o arrastamos sobre o palco, e configuramos uma rotina onClipEvent(load) para configurar as variáveis que queríamos usar (e permitir que elas fossem facilmente trocadas ou controladas com botões deslizantes ou botões para experiências) e para criar os círculos de bola, e um onClipEvent(enterFrame) para manter os círculos em movimento.

   Este é o código no onClipEvent(load). Os nomes das variáveis devem lhes dar uma pista do que cada um deles faz: startx1, startx2, e startx3 definem os eixos centrais X para cada um dos três círculos (e starty define o eixo central X para todos). No círculo final, criamos os movieclips bola para cada círculo e os distribuímos em volta de um círculo.

onClipEvent(load) {
   perspective = 300;
   anglespeed = Math.PI/72;
   tilt = 3;
   radius = 36;
   nBalls = 12;
   startx1 = 45;
   startx2 = 145;
   startx3 = 245;
   starty = 30;
   for (i=1;i<=nBalls*3;i++) {
      this.attachMovie("expBall","mcBall"+i, i);
      this["mcBall"+i].angle = i * Math.PI*2/nBalls;
   }
}

   Tendo configurado as variáveis e posto as bolas sobre o palco nas suas posições iniciais, usamos agora um loop onClipEvent(enterFrame) para mantê-las em movimento (a variável turnedOff na raiz (_root) indica se o usuário desligou o filme com o botão on/off no canto mais baixo à direita.) Existem três loops For, um para controlar cada círculo de bolas. Eles são idênticos, exceto pela substituição da tangente por coseno no segundo círculo (o que produz uma variação interessante, nós imaginamos), e -= por += no terceiro círculo (que reverte a direção do círculo).

   Para entender que efeito cada uma das variáveis tem no círculo, carregue o fla e tente algumas mudanças! Eu poderia, também, apontar que relacionamentos de algumas variáveis neste exemplo são alteradas em relação ao que elas deveriam ser em uma aplicação 3d real, mas isso produz o efeito que eu quero; como aprendi na conferência sobre projeção isométrica de Andries Odendaal e da conferência sobre pêndulos de Samuel Wan, na Flashforward, é mais importante codificar o que você precisa de um modo eficiente para o processamento, do que ter certeza que você usa a equação física precisamente correta! Aqui está a rotina onClipEvent(enterFrame).

onClipEvent(enterFrame) {
   if (!_root.turnedOff) {
      for (i=1;i<=nBalls;i++) {
         mcrBall = this["mcBall"+i]
         mcrBall.angle += anglespeed;
         a = Math.sin(mcrBall.angle)*radius;
         b = Math.cos(mcrBall.angle)*radius;
         scalar = perspective/(b+perspective);
         mcrBall._x = a*scalar + startx1;
         mcrBall._y = b*scalar/tilt + starty;
         mcrBall._xscale = scalar*100;
         mcrBall._yscale = scalar*100;
         mcrBall._alpha = (120-b)/2;
      }
      for (i=nBalls+1;i<=nBalls*2;i++) {
         mcrBall = this["mcBall"+i]
         mcrBall.angle += anglespeed;
         a = Math.cos(mcrBall.angle)*radius;
         b = Math.tan(mcrBall.angle)*radius;
         scalar = perspective/(b+perspective);
         mcrBall._x = a*scalar + startx2;
         mcrBall._y = b*scalar/tilt + starty;
         mcrBall._xscale = scalar*100;
         mcrBall._yscale = scalar*100;
         mcrBall._alpha = (120-b)/2;
      }
      for (i=nBalls*2+1;i<=nBalls*3;i++) {
         mcrBall = this["mcBall"+i]
         mcrBall.angle -= anglespeed;
         a = Math.sin(mcrBall.angle)*radius;
         b = Math.cos(mcrBall.angle)*radius;
         scalar = perspective/(b+perspective);
         mcrBall._x = a*scalar + startx3;
         mcrBall._y = b*scalar/tilt + starty;
         mcrBall._xscale = scalar*100;
         mcrBall._yscale = scalar*100;
         mcrBall._alpha = (120-b)/2;
      }
   }
}

   Para obter algumas variações, simplesmente mude as variáveis de inclinação e velocidade angular, e voila, você conseguiu seu próprio Tilt-a-whirl pessoal. Para fazer isso ainda mais interessante, no lugar de usar um objeto movieclip de quadro único, você poderia usar um objeto tweened sobre o número de quadros que ele leva para dar a volta no círculo, de forma que um objeto apresente uma face diferente em cada local no loop.

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