RICARDO TAKAHASHI (180 pts)

FÁBIO DUARTE (79 pts)

MUZAK (45 pts)

LUIZ HERRERA (117 pts)

DAUTON JANOTA (255 pts)

MAURO ROCHA TAVARES (40 pts)

EDUARDO CARREGA (150 pts)

GABRIEL SPORCH (53 pts)

RÔMULO NUNES (32 pts)

DAAFY (55 pts)

RICARDO TEIXEIRA (40 pts)

ILVA RUDEV (90 pts)
Treinamento PontoFlash de Flash e ActionScript

Preciso fazer um objeto menu que siga o mouse lentamente, com um delay.

Como reproduzo aquele efeito de espelho?

Quero acrescentar vídeos e um menu num CD de áudio.

Como faço para simular frames dentro do Flash? Sem HTML.

Quero que meu SWF carregue em uma cena aleatória.

Dica sobre o uso de cenas.

Preciso de uma ação para desabilitar um botão.

Estou precisando contolar o volume de uma trilha sonora em loop em um site.

Alguém sabe um modo de converter um número com várias casas após a vírgula para um com apenas 3?

Como desabilitar os comandos Esc e Alt+F4 numa página do flash?

Algumas dicas sobre Array, Join e Split.

Como setar o foco usando o setFocus e o onSetFocus e o onKillFocus?

Quero chamar um determinado frame na timeline do flash a partir de outro frame Html?

Tem como abrir um PDF (acrobat reader) entro do Flash? Pode ser com Delphi?
Scroll dinâmico no Flash 5.

Flash Communication Server MX - Primeira Parte

Flash MX 2004 Updater

Usando Define Patern para criar texturas contínuas no PhotoShop.

Botão Radio.

Jogo da Forca

Barneys_menu.

Controlando um swf que está em outro frame

Aplicação simultânea de Fio e Sombra a bitmaps - Fireworks

Citroen, máscaras que simulam vídeo - Avaliação de sites

O "X" do MacOS no PhotoShop

Usando Flash e ASP para contruir um formulário.
Slide menu

shared Objects

campo de texto no Down

F5doubleclick

Outlines

Ball & shad

Music On Off

Rachadura

Shot me

Circle

Eventos MX

Menu móvel
HOME | TUTORIAIS
3D Wireframe.
por Helen Triolo

(Nota: Para impedir o filme seja redesenhado a cada quadro e devorar assim todo o poder do seu processador, clique no botão de reset - isto fará com que o objeto volte para sua posição não girada e interromperá o re-desenho até queseja pressionado a tecla render ou um dos botões de rotação).

Classes para suportar desenho em 3D

Há algumas semanas atrás, dei uma olhada no artigo de Chad Corbin sobre como criar objetos 3D em tempo real em Flash, um exemplo atrativo para mim porque mostra como criar e fazer girar uma outra coisa além de um cubo. Cubos em 3D girando são legais em seu movimento, mas sempre considerei que seria mais interessante saber como criar alguma coisa curva e então ter esta coisa curva se movendo também. Desde que uma forma pode ser tão perfeitamente definida (como uma série de curvas bezier quadráticas e/ou segmentos de linha) e produzidas no Flash, pensei em como seria maravilhoso permitir ao usuário definir sua própria forma (uma série de curvas) e então estender esta forma para fazer um objeto em 3D completo, ou por extrusão, ou pela criação de um objeto radialmente simétrico (esta amostra é um simples exemplo desse último).

Assim, da maneira usual, despendi alguns dias desmembrando o código do Chad para descobrir o que ele fazia e então outros poucos dias recolocando-o de volta dentro de alguma coisa útil que eu pudesse usar genericamente em futuros projetos. No processo, coloquei alguns métodos de classe Math juntos para criar e manipular uma matriz transformadora, para encontrar um ponto ao longo de uma curva bezier, e executar multiplicações matriz-matriz e matriz-vetor (necessárias para projetar definições 3D em um espaço 2D).

Para configurar a cena

A classe controladora neste exemplo é Scene, que inclui propriedades para definir a linha de tempo na qual a cena será criada, um conjunto de formas que contêm movieclips de forma individualizada, e um fator de perspectiva. Após desenhar a forma padrão, a primeira coisa a ser feita no filme é definir um objeto Scene com esta instrução:

var wireFrame = new Scene(this.mcShow, 300, false, 17);

Isto cria um objeto chamado wireFrame do tipo Scene que irá residir na linha de tempo mcShow, tendo fator de perspectiva 300, sem eixos mostrados e que contém 17 formas. Cada uma dessas formas será representada por um movieclip, cuja referência é armazenada no conjunto aShapes (uma propriedade do objeto Scene). Estas formas incluem a forma curva original (definida pelo usuário, ou utilizando a forma padrão) situadas horizontalmente no plano xy, mais 7 duplicatas dela, dispostas à volta do eixo y em ângulos de 45 graus, mais 9 círculos horizontais ao longo do comprimento da figura.

Para definir a forma

Cada forma é definida por 4 pontos de ancoragem (pontos finais, mostrados como pontos no filme acima) e 3 pontos de controle (triângulos), todos os quais podem ser arrastados, dentro de certas limitações, pelo usuário. Para converter a forma selecionada pelo usuário em um objeto utilizável em Flash, empreguei uma estrutura usada para objetos 2D, que nada mais é do que um objeto com estas propriedades:

ptStart: um ponto 3d (com propriedades x, y, z) que mostra onde a forma começa

aCurves: um conjunto de objetos com propriedades p e c. Cada objeto no conjunto define uma curva, ou uma curva atual (com um ponto de controle) ou um segmento de linha (neste caso o ponto de controle é nulo). p é o 3º ponto final da curva, e c é o 3º ponto de controle se a curva tiver um.

isClosed: um valor booleano que diz se a curva é fechada ou não. Se fechada, um preenchimento será aplicado. Se aberta, a curva não terá preenchimento.

lineweight: espessura da linha (em pixels)

linecolour: cor da linha, se você for Britânico (Deixei os nomes das variáveis como os da amostra do Chad)

linealpha: transparência da linha

fillcolour: cor de preenchimento (não utilizada neste exemplo)

fillalpha: transparência do preenchimento

No filme, a curva que define a forma do objeto 3d é definida no movieclip mcDraw, e o objeto 3D wireframe é então criado no movieclip mcShow. Quando uma forma tiver sido definida e o usuário clicar Render, a função makeFrame é chamada. makeFrame traduz os pontos especificados no mcDraw em pontos utilizáveis dentro do mcShow, com instruções como:

var p0x = mcDraw.p0._x - mcDraw.p3._x;
var p0y = mcDraw.p0._y - offset;
var p1x = mcDraw.p1._x - mcDraw.p3._x;
var p1y = mcDraw.p1._y - offset;
...

var c1x = mcDraw.c1._x - mcDraw.p3._x;
var c1y = mcDraw.c1._y - offset;

onde p0x/p0y define o ponto de partida (no plano xy), p1x/p1y define o ponto final da primeira curva na forma, e c1x/c1y define o ponto de controle da primeira curva. Quando estes pontos foram estabelecidos, o método setShapeProps do wireFrame (um objeto do tipo Scene) é chamado. Isto passa todas as propriedades da forma (ponto de partida, conjunto de definições de curva, espessura da linha, etc) para o movieclip que as representarão (salvas em wireFrame.aShapes[0]):

// faz as linhas verticais: #1 position at z=0
wireFrame.setShapeProps(0, {x:p0x, y:p0y, z:0},
                    [ new Curve( {x:p1x, y:p1y, z:0}, {x:c1x, y:c1y, z:0} ),

                    new Curve( {x:p2x, y:p2y, z:0}, {x:c2x, y:c2y, z:0} ),
                    new Curve( {x:0, y:p3y, z:0}, {x:c3x, y:c3y, z:0} ) ],
                    false, 1, 0xffffff, 100, 0, 0);

Uma curva é um objeto da classe Curve, definido por dois pontos: o ponto final da curva, e seu ponto de controle. A instrução acima configura a primeira forma na cena (index=0) para iniciar a um ponto definido por p0x/p0y/0, então curve para um ponto em p1x/p1y/0 usando c1x/c1y/0 como controle, então curve para o ponto p2x/p2y/0 usando c2x/c2y/0 como controle, etc. O parâmetro "false" especifica que a curva não é fechada (e então nenhum preenchimento será aplicado), e os parâmetros remanescentes definem a linha (branca, amplitude do pixel 1, alfa -transparência- 100) e preenchimento (nenhum, mas colocamos cor e transparência de qualquer modo para mostrar onde um preenchimento deverá entrar).

Para duplicar a forma (segunda parte)

Tradução:
Sérgio Ramalho



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