NETO LEAL (116 pts)

AUTOR DESCONHECIDO (100 pts)

SYDNEY GANHO (60 pts)

DEN IVANOV (260 pts)

DENIS CARAVALHO (85 pts)

LUI FERNANDO (151 pts)

KEN AWAMURA (130 pts)

EDUARDO CARREGA (150 pts)

RICARDO TEIXEIRA (40 pts)

SÁVIO PONTE (39 pts)

ÉMERSON ROCHA (85 pts)

ALEXANDRE PORTO (1281 pts)
Treinamento PontoFlash de Flash e ActionScript

Como trabalhar com o onLoad em arquivos externos no MX?

Como eu faço um carregando bem simples no flash5?

Porque com o "With" não consigo atribuir um valor a uma variável?

Como fazer um movie clip animado com alpha gradativo?

Método playBackwards para retroceder um movieclip.

Tem como eu centralizar um filme aberto com Load Movie?

Como fazer meu filme ficar parado um tempo em um determinado frame e depois ande novamente.

Quero localizar a posição de um movieclip dinamicamente?

Como imprimir no Flash?

Que número é aquele que vem no final da sintaxe do loadMovieNum?

Preciso de um sisteminha em FLASH para cadastrar emails de visitantes.

Tenho três sons para o usuário ligar e desligar, como fazer?

Eu fiz um som e queria que ele só tocasse quando a pessoa passasse o mouse por cima dele.

Como eu faço no flash para um logo girar como se fosse um 360º só que na horizonal?
Como eliminar vozes de um arquivo Wav.

Criação de um CD híbrido

Alternando janelas no Flash.

Flash Studio Pro: Dando poderes ao Flash

Redimensionar um filme no modo de edição

Event Handlers (identificadores de eventos).

EmbedFonts e Mini-dicionário Style

Betinhocarreiro e Dysney.

Degradé com tons metálicos - Fireworks

GuestBook usando integração Flash e PHP.

Objeto Movieclip - Endereçamento (segunda parte)

Alterando Artistic Media no Corel Draw.
Fract1

Translação

Pop menu

Page Curl

Filtro de cores

Alfabetar com colunas

Envelhecimento

Duplicate MC

Um por vez

WDDGmask

Texto html

Senha multipla
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