Ir para conteúdo

POWERED BY:

Arquivado

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

Sandler Riot

Efeito Light Paint ao arrascar o cursor

Recommended Posts

Olá amigos, boa noite

 

Gostaria de saber como fazer um efeito de Light Paint ao arrastar o cursos sobre o filme.

 

Vejam isso:

Imagem Postada

 

Imagine o usuário poder desenhar isso no flash arrastando o cursos sobre o filme.

 

Alguém teria alguma solução?

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja bem, não é comum postar código pronto no fórum (nem recomendamos)

 

mas eu estava meio entediado aqui ^_^ , e resolvi fazer (não se acostumem)

 

realmente é difícil simular esse efeito, o máximo que consegui foi isso:

 

 

lembra de deixar a cor de fundo do palco como preto

 

 

 

var oldX:Number = stage.mouseX;
var oldY:Number = stage.mouseY;

stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove);

function onMove(e:MouseEvent):void {
	// cria um movieCLip para cara linha
	
	var linhaMC:MovieClip = new MovieClip();
	addChild(linhaMC);
	
	linhaMC.graphics.lineStyle(7, 0xFFFFFF);
	linhaMC.graphics.moveTo(oldX, oldY);
	linhaMC.graphics.lineTo(stage.mouseX, stage.mouseY);
	
	colorTo(linhaMC, 0xFFFFFF);
	glowTo(linhaMC, 15);

	oldX = stage.mouseX;
	oldY = stage.mouseY; 
	
	
	linhaMC.addEventListener(Event.ENTER_FRAME, fadeOut);
	
}

function fadeOut(e:Event):void {
	var alvo:MovieClip = MovieClip(e.currentTarget);
	var colorAtual:Number = alvo.transform.colorTransform.color;


	// vai mudando a cor da linha (era melhor usar a TweenMax.....)
	// a idéia é ir trocando na sequencia:
	// branco >>> amarelo  >>> vermelho >>> preto 
	if (colorAtual > 0xFFFF00) {
		colorTo(alvo, colorAtual - 0x00011);
	} else if (colorAtual > 0xFF0000) {
		glowTo(alvo, 7);
		colorTo(alvo, colorAtual - 0x003300);
	} else if (colorAtual > 0x000000) {
		glowTo(alvo, 0);
		colorTo(alvo, colorAtual - 0x330000);
	} else {
		// quando a linha ficar na cor preta, remove ela do palco
		alvo.removeEventListener(Event.ENTER_FRAME, fadeOut);
		alvo.parent.removeChild(alvo);
	}

}

// função para colocar o efeito de glow na linha
function glowTo(mc:MovieClip, tam:Number):void {
	var filter:BitmapFilter = new GlowFilter(0xFFFFFF,0.5,tam,tam,2,BitmapFilterQuality.MEDIUM,false,false);
	var myFilters:Array = new Array();
	myFilters.push(filter);
	mc.filters = myFilters;
}
// função para mudar a cor de um movieCLip
function colorTo(mc:MovieClip, cor:Number):void {
	var colorTrans:ColorTransform = mc.transform.colorTransform;
	colorTrans.color = cor;
	mc.transform.colorTransform = colorTrans;

}

 

 

você pode ir mudando os números dos parâmetros, pode ser que melhore

 

 

 

 

[]´s

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.