Ir para conteúdo

POWERED BY:

Arquivado

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

festamix

Action que controla brightness

Recommended Posts

axei esse exemplo no help do flash(crie no palo um movieCLip chamado "img_mc")

 

import flash.filters.ColorMatrixFilter;import mx.transitions.Tween;import mx.transitions.easing.*;img_mc.watch("brightness", brightnessWatcher, img_mc);// animate the target_mc movie clip between -100 and +100 brightnessvar myTween:Tween = new Tween(img_mc, "brightness", Elastic.easeOut, 100, -100, 3, true);myTween.onMotionFinished = function() {		this.yoyo();};function brightnessWatcher(prop:String, oldVal:Number, newVal:Number, target_mc:MovieClip):Number {	var brightness_array:Array = [1, 0, 0, 0, newVal,			0, 1, 0, 0, newVal,			0, 0, 1, 0, newVal,			0, 0, 0, 1, 0];	target_mc.filters = [new ColorMatrixFilter(brightness_array)];	return newVal;};

 

pra saber mais pesquise sobre a classe ColorMatrixFilter

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra facilitar pra você, criei uma função,

 

 

function alterarBrightness(target_mc:MovieClip, newVal:Number ) {	var brightness_array:Array = [1, 0, 0, 0, newVal,			0, 1, 0, 0, newVal,			0, 0, 1, 0, newVal,			0, 0, 0, 1, 0];	target_mc.filters = [new flash.filters.ColorMatrixFilter(brightness_array)];};//você passa o movieClip e o  valor, que vai de -100 a 100alterarBrightness(movie_mc,-100)

Compartilhar este post


Link para o post
Compartilhar em outros sites

kra me dah soh um ultimo auxilio. Eu tenho:

function alterarBrightness(target_mc:MovieClip, newVal:Number ) {	var brightness_array:Array = [1, 0, 0, 0, newVal,			0, 1, 0, 0, newVal,			0, 0, 1, 0, newVal,			0, 0, 0, 1, 0];	target_mc.filters = [new flash .filters.ColorMatrixFilter(brightness_array)];};// guardar as instancias a serem rotacionadas em um vetorvar clips = Array("rm_101", "rm_105", "rm_113", "rm_125", "rm_132", "rv_503", "rv_506", "rv_515", "rv_516", "rx_320", "rx_321", "rx_379", "rf_701", "rf_702", "rv_503_120", "rf_705");var raio = 300; 	// raio de rotacaovar aceleracao = 0.01;	// aceleracao do mouse para o girovar alphaMinimo = 0;	// transparencia do botao de menu mais distantevar alphaMaximo = 100;	// transparencia do botao de menu mais proximovar brightnessMinimo = 0;var brightnessMaximo = -100;var escalaMinima = 20;	// tamanho do botao de menu mais distantevar escalaMaxima = 100;	// tamanho do botao de menu mais distantevar mouseSeguro = 100;	// pixels em torno do centro nos quais o							// mouse nao gira o menu// variacao da transparenciavar difAlpha = alphaMaximo - alphaMinimo;//var difbrightness = brightnessMaximo - brightnessMinimo;// variacao do tamanhovar difEscala = escalaMaxima - escalaMinima;// posicao central do menu em X e Yvar xIni = Stage.width / 2;var yIni = Stage.height / 2;var dobroRaio = raio * 2;var conversao = Math.PI / 180;	// fator de conversao de angulo para radianovar difAngular = 360 / clips.length;	// parcial de cada angulovar angulo = 0;		// angulo inicial da roda como um todo// funcao para determinar as posicoes X e Y// de um menu em funcao do angulo e do raiofunction posCircular(angulo, raio){	var pos = new Object();	var rad = angulo * conversao;	pos.y = Math.sin(rad) * raio;	pos.x = Math.cos(rad) * raio;		return pos;}// funcao para ser chamada na mesma frequencia da animacao// e que eh responsavel por girar o menuthis.onEnterFrame = function  () {	// calculamos se o mouse esta fora da area central	// e com que velocidade o menu ira girar	velocidade = (_root.menu_portas._xmouse - yIni)	if (Math.abs(velocidade) <= mouseSeguro)		velocidade = 0;	else		velocidade *= aceleracao;		// giramos o menu todo	angulo += velocidade;		// reposicionamos cada item do menu	for (i = 0; i < clips.length; i++)	{		// criar alias para o clipe de filme atual		var ptr = _root.menu_portas[clips[i]];				// alterar posicao horizontal do menu		ptr._y = xIni;				// calcular a diferenca angular desse menu		// em relacao a origem da roda		ptr.difAngular = difAngular * i;				// buscar as posicoes X (profundidade) e Y (altura) do menu		var pos = posCircular(angulo + ptr.difAngular, raio);		ptr._x = yIni + pos.x;				// calcular percentual de afastamento do menu		// para alterar seu tamanho e transparencia		var perc = (pos.y + raio) / dobroRaio;		ptr._alpha = perc * difAlpha + alphaMinimo;				ptr._yscale = ptr._xscale = perc * difEscala + escalaMinima;		// colocar o menu acima dos que estao mais afastados		ptr.swapDepths(pos.y + dobroRaio);	}}

No caso esse script faz um menu circular 3d, e quando uma imagem vaih para trás ele fica com alpha 100 e menor, queria abricar a função de brightness também, só que to meio perdido porque sou iniciante na parada. Podes me dar essa ultima ajuda?

Compartilhar este post


Link para o post
Compartilhar em outros sites

teste mudar essa linha

 

// calcular percentual de afastamento do menu		// para alterar seu tamanho e transparencia		var perc = (pos.y + raio) / dobroRaio;		ptr._alpha = perc * difAlpha + alphaMinimo;

para

 

// calcular percentual de afastamento do menu		// para alterar seu tamanho e transparencia		var perc = (pos.y + raio) / dobroRaio;		alterarBrightness(ptr, perc * difAlpha + alphaMinimo);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kra coloquei alterarBrightness(ptr, perc * difbrightness + brightnessMinimo); e fundo. Eu já tinha tentado fazer isso antes de postar. Só que só agora fui notar q eu tinha q inverter o valor, pq ele escurecia quando estava na frente e clariava quando estava no fundo. Muito obrigado pela ajuda kra.

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.