KEN AWAMURA (130 pts)

STICKMAN (155 pts)

MARLOS ALVES CARMO (90 pts)

DAAFY (55 pts)

SÁVIO PONTE (39 pts)

LEANDRO AMANO (83 pts)

LUI FERNANDO (151 pts)

ILVA RUDEV (90 pts)

JOÃO NETO (78 pts)

RICARDO FIGUEIRA (33 pts)

MUZAK (45 pts)

FÁBIO DUARTE (79 pts)
Treinamento PontoFlash de Flash e ActionScript

Com o LocalConnection do FlashMX, posso enviar variáveis para outro SWF?

Vi que o único jeito de ter alguma coisinha legal no swift 3d e importando do illustrator?

O que é melhor para importar textos no Flash, TXT ou XML?

Como posso colocar uma transparência (alpha) em um objeto?

Gostaria que vocês me dessem uma dica, quando usar e quando não usar o loading.

Quero criar um player de MP3, com várias músicas e botões avançar e voltar.

Alguem conhece algum plug-in para exportar do 3d studio max e importar no flash?

Como movimento e diminuo o tamanho de um texto em uma animação?

Como abrir um filme por load movie em uma determinada posição?

Fiz um arquivo de scroll, mas quando o coloco dentro de um movieclip, não funciona.

É possível redimensionar um jpg aberto dinamicamente?

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

Pra galera que curte Animação Clássica em Flash...

Existe alguma forma de o flash detectar se um load movie já foi carregado e executar uma ação depois disso.
Compartilhando fontes

Objeto XML - xml viewer

Alterar a parência dos componentes do FlashMX.

RIA, Macromedia Flex e Laszlo Presentation Server

Pre-loader simples.

Roof e Marciowebmaster - Avaliação de sites

Grandene - Avaliação e sites

Guias de movimento (motion guide)

3D Wireframe.

Tratamento de um bitmap PNG com o PhotoShop.

Detecção do FlashPlayer.

Menu infinito
Lights many

Planeta orbita

Friction

Calculadora

3d rotation2

Envelhecimento

Colisao e swap

Drag tooltip

Slicemenu

Random color

Keypress

Quebra Cabeças
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