Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fnatic

Desenhando no Flash com apenas 11 linhas de ActionScript

Recommended Posts

resultados de muitas navegadas ;)

 

Basicamente a estrutura de desenho aplicada refere-se somente à interação do actionscript com eventos relacionados ao MouseDown (Clique), MouseMove(Movimento do Mouse) e MouseUp (Mouse não clicado). Segue abaixo a instrução line-by-line de como funciona:

 

1. createEmptyMovieClip("linha",1);

2. linha.lineStyle(4,0x000000,100);

3. onMouseDown = function (){

4. linha.moveTo(_xmouse, _ymouse);

5. onMouseMove = function (){

6. linha.lineTo(_xmouse, _ymouse);

7. };

8. };

9. onMouseUp = function(){

10. delete onMouseMove;

11. };

 

Dentro disso, ja temos o swf funcionano, agora vamos explicar cada linha:

 

Linha 1:

1. createEmptyMovieClip("linha",1);

 

Criação do MovieClip chamado de "linha" com depth de 1

 

Linha 2:

2. linha.lineStyle(4,0x000000,100);

 

Especificando o estilo de linha com borda de 4 pixels com a cor 0x000000(preta nesse tutorial) com alpha de 100(quer dizer, sem nível de tranparência)

 

Linha de 3 a 8:

 

3. onMouseDown = function (){

4. linha.moveTo(_xmouse, _ymouse);

5. onMouseMove = function (){

6. linha.lineTo(_xmouse, _ymouse);

7. };

8. };

 

onMouseDown significa a função enquanto eu clico. Nisso eu digo para a linha vá para sempre na posição do mouse linha.moveTo(_xmouse, _ymouse); ou seja, o início da linha sempre vai pegar a posição inicial a linha. Quando clicado eu movimento o mouse, isso explica a função interna onMouseMove = function (){ . E, para cada movimento de mouse eu digo para a linha seguir os movimentos do mouse.

 

Linhas de 9 a 11:

 

9. onMouseUp = function(){

10. delete onMouseMove;

11. };

 

Simplesmente significa que quando eu deixo de clicar eu cancelo a função de movimento do mouse, ou seja, não desenha a linha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

williamfoose você tem que criar um arquivo FLASH AS2.0 para que não de erro.

 

No As3.0 você vai ter que usar isso:

import fl.events.ColorPickerEvent;

e no local de "Ons", vai ter que usar isso:

addEventListener();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho outro:

 

No frame:

 

// 1. SETTING THINGS
// ----------------
_root.createEmptyMovieClip("line",1);

// 2. EVENTS IN _ROOT:
// ------------------------
_root.onMouseDown = function(){
	line.moveTo(_xmouse,_ymouse);
	line.lineStyle(0,0x000000,100);
	this.onEnterFrame = function(){
		line.lineTo(_xmouse,_ymouse);
	}
}
_root.onMouseUp = function(){
	this.onEnterFrame = null;
}
// 3. BUTTON "ERASE":
// --------------------
buttonErase.onPress = function(){
	_root.line.clear();
}

Ou seja: ele desenha com onMouseDown, pára de desenhar com onMouse Up e apertando um botão instanciado "buttonErase" apaga o desenho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá

Muito interessante o tutorial.

Gostaria de saber como fazer essa função de desenho funcionar apenas em determinada parte da tela (e/ou sobre um movieclip)

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.