KEN AWAMURA (130 pts)

LUI FERNANDO (151 pts)

ILVA RUDEV (90 pts)

LUIZ HERRERA (117 pts)

JONAS GALVEZ (521 pts)

IRAPUAN MARTINEZ (45 pts)

DAAFY (55 pts)

EDUARDO PERROUD (52 pts)

DEN IVANOV (260 pts)

MANGOOST (80 pts)

EDUARDO WALMOTT (226 pts)

LUIZ AVANCI (51 pts)
Treinamento PontoFlash de Flash e ActionScript

Quero um mouse trail que tenha vários objetos que juntam no final.

Como enviar e receber variáveis do flash para o PHP utilizando LoadVars?

Como usar o tab nos formulários do Flash?

Como deletar um lote de variáveis com apenas um comando?

Como configurar uma ação dependente da escolha em dois compontentes combobox?

Como eu faço um relógio digital e com data junto?

Abrir janelas popups à pertir de imagens.

Quero montar algo como um Céu cheio de estrelas piscando.

Queria fazer um botão redondo que surgem novas circunferências que vão sumindo.

Como eu poderia substituir um caractere ao longo de uma string?

Tem como alinhar objetos em frames diferentes de uma vez só?

Como fazer um objeto ter um movimento elástico?

FlashMX, um programa maduro para programadores?

Tem como colocar botões “próximo texto” e “texto anterior” quando abro com load variables?
Flash Intro - Aspectos Básicos do MX

Flash MX 2004 - class e prototype

Tratamento de um bitmap PNG com o PhotoShop.

Formulário de e-mail com CGI.

Movimentar MC com barra de rolagem e setas

Desenvolvendo um Tocador de Vídeo em Flash

Objeto array - Classificar uma array (sorting) e e arrays multidimensionais

Atenuação (easing).

Uma enquete usando ASP e Flash.

Carregando SWFs em diferentes níveis.

Exibir páginas em html com o componente TextArea do FlashMX2004

Load Múltiplos.
Swirl

Random block

Duplicate MC

Animação frame by frame

Macromedia

Menu Notredem

Rayoflight

Oposição

Mapa Mundi

Combobox

Saturno

Esferas conectadas
HOME | TUTORIAIS
Desenhando apenas com Actionscript.
por Helen Triolo

Abaixo está um exemplo de um filme Flash MX que foi inteiramente codificado em script (nada no Palco, nada na Biblioteca), utilizando as novas ferramentas de desenho em script.

Você pode desenhar linhas e formas em Flash utilizando esses métodos movieclip:
- moveTo, para mover o "cursor" (ferramenta de desenho) para um novo local;
- lineTo, para desenhar uma linha do local onde você está até um novo local;
- curveTo, para desenhar uma linha curva do ponto onde você está até um novo local;
Os métodos lineStyle, beginFill e endFill serão utilizados para fornecer traços (stroke) e informações de preenchimento para as formas que você desenhar. Os dois primeiros métodos são de uso direto - apenas especifique a localização X e Y do pixel a partir do qual você deseja iniciar, ou para o qual você deseja se mover. Por exemplo, para criar um novo movieclip que contenha um trapezoide verde que parta em 100,100 coloque este código no quadro 1 de um filme diferentemente vazio (ou não):

this.createEmptyMovieClip("box", 4);
with (this.box) {
beginFill(0x00cc00, 100);
moveTo(100,100);
lineTo(200, 100);
lineTo(250, 150);
lineTo(50, 150);
lineTo(100, 100);
endFill();
}

Que criará um novo movieclip com um box de nome de instância, dentro do movieclip onde você entrou com o código (a linha de tempo principal, _root, nesse caso), a 4 de profundidade (dentro da _root).

Desenhar uma curva

Para desenhar uma curva, você necessita utilizar o método curveTo, que requer um ponto de controle e uma âncora (endpoint). O ponto de controle é uma "alça" numa curva bezier quadrática que dobra a curva até a forma desejada. Porque existe somente uma alça por curva ao invés de duas (como numa bezier cúbica), alguma manipulação deve ser feita para corrigir os arcos desenhados que forem maiores que 45 graus.

Para ângulos de 45 graus (um ponto arbitrário, baseado em experimentação, o fato é que ele é múltiplo de 360) e menores, o ponto de controle que fornece o melhor arco para um ângulo teta dado é x=r, y=r * tan(theta/2). Você pode verificar se isso está certo medindo em volta com o ponto de controle nesta página.

Então, para desenhar um círculo completo, desenhamos simplesmente oito arcos de 45 graus em seqüência:


function drawCircle(r, x, y) {
lineStyle(1, 0x000000);
moveTo(x+r, y);
a = Math.tan(22.5 * Math.PI/180);
for (var angle = 45; angle<=360; angle += 45) {
// endpoint
var endx = r*Math.cos(angle*Math.PI/180);
var endy = r*Math.sin(angle*Math.PI/180);
// anchor
// (angle-90 is used to give the correct sign)
var cx =endx + r*a*Math.cos((angle-90)*Math.PI/180);
var cy =endy + r*a*Math.sin((angle-90)*Math.PI/180);
this.curveTo(cx+x, cy+y, endx+x, endy+y);
}
}
drawCircle(80, 100, 100);

Como alternativa, para maior rapidez, a equivalência numérica correta de cada valor pode ser substituída. A mesma idéia pode ser utilizada para desenhar um arco de qualquer número de graus. Simplesmente divida o arco em segmentos iguais ao tamanho da base, utilizando curveTo para desenhá-los, e então desenhe qualquer "extra" residual após a divisão. Para os nossos segmentos de gráfico circular, utilizamos um arco de 30 graus como base e o seguinte código para desenhar cada arco:


Math.rad = Math.PI/180; // conversion, degrees to radians
var nSeg = Math.floor(angle/30); // eg 2 if angle is 80
var pSeg = angle - nSeg*30; // eg 20 degrees if angle is 80

var a = 0.268; // tan(15)
for (var i=0; i 0) {
a = Math.tan(pSeg/2 * Math.rad);
endx = r*Math.cos((i*30+pSeg)*Math.rad);
endy = r*Math.sin((i*30+pSeg)*Math.rad);
cx = endx+r*a*Math.cos((i*30 + pSeg-90)*Math.rad);
cy = endy+r*a*Math.sin((i*30 + pSeg-90)*Math.rad);
this.curveTo(cx, cy, endx, endy);
}

Para ver o código completo utilizado no exemplo acima, verifique aqui. Nossos agradecimentos a Martin Dubuc pelo magnífico marcador (highlighter) AS.

Para dar uma olhada em como criar campos de texto (textfields) rapidamente, continue no Criar Textos.

Ou para obter os objetos que você criou para fazer alguma coisa, verifique a página Event Handlers (Identificadores de Eventos).

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