ZEBEDIAH (35 pts)

DENIS CARAVALHO (85 pts)

RICARDO FIGUEIRA (33 pts)

MANGOOST (80 pts)

HELEN TRIOLO (444 pts)

ZECA BALA (45 pts)

LUIZ AVANCI (51 pts)

DEN IVANOV (260 pts)

PANDOGO (82 pts)

GÉRIO (93 pts)

ÉMERSON ROCHA (85 pts)

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

Como fazer uma timeline andar mais lenta que outra?

É possível usar meta tags para evitar que os SWF vão para o cache?

Porque quando inserimos movie clip na cena principal, o mesmo vai representado apenas por uma bolinha?

Num array de 44 elementos quero extrair 4 randomicamente, sem que eles se repitam.

Como funciona o Radio Button do Flash MX.

Como fazer um preloader bem simples?

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

Preciso que um movieclip se repita de tempos em tempos.

Como, num tweeningMotion, fazer o filme parar num frame com uma label?

Como fazer um filme preloader não sair quando o principal estiver carregado?

Como fazer um executável no Flash com autorun?

Como fazer banners com animação e que fossem links. Com botão transparente?

Como faço para validar data de nascimento num formulário?

Como carregar, via load Movie, um filme num determinado local (X,Y) do filme?
Flash e X-Technologies · A Nova Ordem do Mundo?

Eventos no FlashMX

Bate-papo com Dennis Baldwin - FlashCFM.com

CD Record (um player com clips arrastáveis).

Shake - navegador tremendo.

Cursor customizado no Flash5.

Fórmula do efeito de elasticidade

Sub-Menus entre frames, com o Dreamweaver

Create TextField.

Alternando janelas no Flash.

Busca em Textos no Flash MX

Como enevoar as bordas de uma imagem no Fireworks.
Random

Elástico

Calculando horas

Barra de som

Criptografia

Engrenagens 1

Barneys menu

Rater2

LoadVars

Bola de vidro

Embaralhar texto

Espanto
HOME | TRUQUES E DICAS
Comentários do o script do “desenho livre” (sources/actionscript)?
por Jonas Galvez


No evento load, apenas declaramos as variáveis que serão utilizadas no script. Inicialmente, a variável i, que será utilizada na duplicação do movieclip linha. Esta varíavel tem o valor inicial 2 porque ela também irá definir o nível das novas instâncias de movieclip que serão criadas através do método duplicateMovieClip, já considerando os dois movieclips que já estão no filme (lápis e linha) ocupando os níveis 0 e 1. As variáveis xInicial, xFinal, yInicial e yFinal (na verdade, não precisariam serem declaradas) irão armazenar o valor da posição do mouse durante o evento mouseMove, responsável pela criação do traço no aplicativo de desenho.

onClipEvent(load) {
var i = 2;
var xInicial, yInicial;
var xFinal, yFinal;
var desenhando = false;
}
onClipEvent(mouseDown) {
desenhando = true;
xInicial = _x;
yInicial = _y;
}
onClipEvent(mouseUp) {
desenhando = false;
}

No evento mouseDown, definimos a variável desenhando com o valor true, e no evento mouseUp, a definimos com o valor false. Esta váriavel irá monitorar as ações do usuário, determinando se ele está desenhando com o lápis ou não, considerando que para desenhar será necessário manter pressionado o botão do mouse enquanto o arrasta. Note que as variáveis xInicial e yInicial são definidas com os valores das propriedades correspondentes (_x e _y), no momento em que o usuário pressiona o mouse (que indica o início de um novo desenho). Para fazer com que uma linha seja conectada à outra, iremos definir suas propriedades _xscale e _yscale com o valor da distância da posição atual do mouse e a anterior, durante o arraste do movieclip lapis. É por isso que nomeamos as variáveis com os nomes xInicial e xFinal, sendo que xInicial é definido no quando o mouse começa um novo movimento (de um pixel para o próximo pixel por exemplo), e xFinal é definido quando um novo movimento se inicia após o anterior. Um desenho simples pode conter milhares de instâncias do movieclip linha. Para obter o valor da distância entre o ponto inicial e o final, subtraímos o valor da posição inicial da final, como exposto a seguir:

movieclip._xscale = xFinal - xInicial;
// define a propriedade xscale com o valor
// da distância entre os pontos

Como você já deve saber, as propriedades _xscale e _yscale definem as dimensões de um movieclip em porcentagem, sendo que seu valor padrão é 100. É por isso que o movieclip linha tem o desenho com 100px de altura e largara, para manter a proporção.

onClipEvent(mouseMove) {
// faz com o lápis tenha a mesma posição do mouse
_x = _root._xmouse; // define a posição x do lápis
_y = _root._ymouse; // define a posição y do lápis
if(desenhando) { // caso o usuário pressionou o mouse
// define os pontos finais, que correspondem
// à posição atual do movieclip
xFinal = _x; yFinal = _y;
// duplica a instância do movieclip linha
_root.linha.duplicateMovieClip("linha" + i, i);
// define referência ao novo movieclip
movie = _root["linha" + i];
// definição do objeto Color
_root["corLinha" + i] = new Color(movie);
// define as propriedades dos novos movieclips
// necessárias para criar o traço
movie._x = xInicial;
movie._y = yInicial;
movie._xscale = xFinal-xInicial;
movie._yscale = yFinal-yInicial;
// torna o novo movieclip visível, já que o
// original está invisível
movie._visible = true;
// aplica a cor definida
_root["corLinha" + i].setRGB(cor);
// define os pontos iniciais com o valor dos
// finais, para iniciar a nova duplicação
xInicial = xFinal;
yInicial = yFinal;
i++; // incrementa o valor da variável i
}
updateAfterEvent(); // atualiza a exibição do filme
}

O evento mouseMove é o responsável pela duplicação do movieclip linha e definição das propriedades _xscale e _yscale das novas instâncias de movieclip. Nele também criamos o objeto Color e aplicamos uma cor à cada uma das novas instâncias, definindo a cor do traço que o usuário está desenhando. A cor a ser aplicada é definida pela variável cor, que deverá conter um valor numérico hexadecimal. Esta variável é definida pelos botões. Bom, espero que tenha compreendido o funcionamento.

Jonas Galvez

0 comentário