EDUARDO CARREGA (150 pts)

BÁRBARA TOSTES (64 pts)

GABRIEL SPORCH (53 pts)

DAUTON JANOTA (255 pts)

PEDRO CLAUDIO (50 pts)

HELEN TRIOLO (444 pts)

JOÃO NETO (78 pts)

NETO LEAL (116 pts)

LUIZ AVANCI (51 pts)

NILTON BICALHO (61 pts)

DANIELA PIRES (86 pts)

LUIZ HERRERA (117 pts)
Treinamento PontoFlash de Flash e ActionScript

Não consigo chamar um texto .txt dentro de um movieclip?

Não conseguir determinar corretamente sua localização (hierarquia ou posição) de uma variável.

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

Eu gostaria de saber como faz o efeito de desfoque nos objetos.

Existe uma função Replace no Flash, para substituir Strings?

Alguém poderia me falar um pouco sobre o ASSetPropFlags e o ASBroadcaster?

Como faço para redimensionar um preenchimento gradiente?

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

Como enviar comandos para uma variável aberta com loadVariables?

Quero intercalar a visivilidade de movieclips.

Quero fazer um movieclip seguir o movimento de um outro na vertical.

Como fazer um autoRun para um executável do Flash?

Importei um MOV pro flash, só que quando testo, o vídeo não começa.

Como fazer para que um filme carregue, por load movie, outro dependendo da hora do dia?
Degradé com tons metálicos - Fireworks

Criando um objeto para sua paleta personalizada (NINJA)

Shared object.

Aprendendo a interagir Flash e ASP

ListBox no FlashMX.

Gráfico pizza.

Clica nuaicon - Photoshop 6

Gerando XLS a partir de ASP

RIA, Macromedia Flex e Laszlo Presentation Server

Flash e Banco de Dados.

Como criar um site totalmente dinâmico em Flash MX

Menu arrastável, estilo Windows.
Planeta orbita

Carro com Tweening

Curva elastica

Multipletrail

Sashacircle 1

Text lights 2

Catavento

Um por vez

Slide menu

Complex swap

Frame rate

TV static
HOME | TUTORIAIS
Line Draw.
por Helen Triolo

O que é isso? Um filme Flash que é simplesmente um ponto branco? Sim, mas se você clicar em qualquer lugar na área (300x100) do filme, irá desenhar uma linha do ponto até o local do clique. Excitante, não? Veja agora como fazer:


baixe o exemplo

Crie um movieclip linha:

Para minimizar distorções quando o movieclip linha é escalado, use uma linha bem fina. Crie um movieclip com uma linha que comece em 0,0 e termine abaixo e à direita em 100,100. Dessa maneira, definindo o xscale (ou yscale) o movieclip linha mudará o valor de x (x-value ou y-value) correspondente mas o comprimento da linha (width) não será afetado. Delete o clip do palco e defina as configurações de exportação desse movieclip na biblioteca (ctrl-L) de maneira que você possa anexá-lo mais tarde (botão direito, Linkage, identifier=baseLine, selecione Export this symbol).

Crie uma função para desenhar a linha:

Para desenhar a linha de um ponto com coordenadas x/y (xStart, yStart) para um ponto escolhido (xStop, yStop), a função anexará uma nova instância do movieclip linha, posicionando-a para começar em (xStart, yStart), definindo xscale e yscale para a diferença entre xStop/xStart e yStop/yStart.

Com essa função, você pode criar uma linha de (30,100) para (200,20) chamando-a com aquelas coordenadas. Eis a função e a chamada:

function drawLine(xStart, yStart, xStop, yStop) {
   attachMovie("baseLine", "Line"+iDepth, iDepth);
   this["Line"+iDepth]._x = xStart;
   this["Line"+iDepth]._y = yStart;
   this["Line"+iDepth]._xscale = xStop-xStart;
   this["Line"+iDepth]._yscale = yStop-yStart;
}

Chamando a função:

Para desenhar uma linha de por exemplo (30,100) para (200,20), chame a função diretamente com esses números ou com variáveis. Desenhe um botão invisível para cobrir todo seu filme e coloque nele:

on (release) {
   _root.iDepth = 1;
   // Deve-se especificar um valor para a profundidade para esse movieclip
   xStart = 30;
   yStart = 100;
   xStop = 200;
   yStop = 20;
   drawLine(xStart, yStart, xStop, yStop);
}

Para simular o efeito do exemplo acima, você tem que manter xStrt e yStart fixo e definir xStop e yStop para a posição do mouse na hora do clique (_root._xmouse e _root._ymouse). Além disso, incremente uma variável profundidade (iDepth) para que novas linhas possam ser criadas. Veja como ficaria o botão invisível

on (release) {
   _root.iDepth = a++;
   xStart = 150;
   yStart = 50;
   xStop = _root._xmouse;
   yStop = _root._ymouse;
   drawLine(xStart, yStart, xStop, yStop);
}

Agora iremos mostrar como definir múltiplas linhas usando o mesmo ponto final.


baixe o exemplo

No exemplo acima, 50 linhas são desenhadas com pontos iniciais randômicos. O ponto final de todas as linhas é o mesmo (150,60). Clicar em qualquer lugar no filme redesenha a linha com seus pontos finais igual ao ponto onde foi clicado.

Crie 50 linhas usando a função previamente definida:

Eis o código que chama a função drawLine para desenhar 50 linhas começando em pontos randômicos em nosso filme 300x100. O ponto final inicial de todas as linhas é definida arbitrariamente em (150,60).

function drawLine(xStart, yStart, xStop, yStop) {
   attachMovie("baseLine", "Line"+iDepth, iDepth);
   this["Line"+iDepth]._x = xStart;
   this["Line"+iDepth]._y = yStart;
   this["Line"+iDepth]._xscale = xStop-xStart;
   this["Line"+iDepth]._yscale = yStop-yStart;
}

iDepth = 0;
nLines = 50;
xStart = new Array(nLines);
yStart = new Array(nLines);
xMid = 150;
yMid = 60;
   for (i=0; i < nlines; i++) {
   xStart[i] = Math.random()*300;
   yStart[i] = Math.random()*100;
   drawLine(xStart[i], yStart[i], xMid, yMid);
   iDepth++;
}
stop();

Encontre o ponto clicado (mouseclick point), redesenhe as linhas:

Encontrar o ponto mouseclick é simples. Coloque um botão invisível sobre o filme todo. O ponto mouseclick é bem simples (_root._xmouse, _root._ymouse). O botão também precisa deletar os movieclips linha existentes para depois criar outras. Eis o código:

on (release) {
   // delete linhas existentes
   for (i=(iDepth-nLines); i < iDepth; i++) {
      _root["Line" + i].removeMovieClip();
   }
   // desenhe novas linhas com novos pontos médios
   for (i=0; i < nlines; i++) {
      xMid = _root._xmouse;
      yMid = _root._ymouse;
      drawLine(xStart[i], yStart[i], xMid, yMid);
      iDepth++;
   }
}

Tente algumas variações:

Uma vez você tenha uma idéia básica de como funcina o sistema, você poderá experimentar centenas de exemplos usando movieclips com shapes em vez de linhas ou animações no lugar de objetos estáticos. Aqui está um no qual usamos um movieclip com um gradiente e um movieclip controller adicional para variar o ponto final randomicamente, mas com a mesma fucionalidade mouseclick como descrito acima.

Tradução:
Alê 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
2 comentários


Comentário de adriano
| 6/10/2010 - 09:52 |


adasdasdasd



Comentário de marcelo prudente
| 22/3/2010 - 17:31 |


Parabéns pelo site e a reformulação, só pra informar como pediram, os links desse tutorial estão quebrados