Ir para conteúdo

Arquivado

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

lendadomato

[Resolvido] Mascara em efeito de componente ColorPicker

Recommended Posts

Olá pessoal,

 

tenho um componente ColorPicker que colore um mc retangular e

tenho um botão de gotoAndStop que instrui para o frame 2, no caso

quando o estou no frame 1 faço a transformação de cor e envio para

o frame 2 tudo ocorre naturalmente certo, embora quando eu mascaro

o mc que recebe a cor o sistema volta à cor inicial e não mantém a cor

que foi definida no frame 1.

Eu preciso que o efeito percorra todos frames e a cada

frame tenho um vetor diferente para mascarar o mc.

 

aqui o codigo.

import flash.display.MovieClip;
import fl.events.ColorPickerEvent;
import flash.geom.ColorTransform;
import flash.events.MouseEvent;

colorPicker_vies.selectedColor = 0xcccc00;
colorPicker_vies.showTextField = true;

colorPicker_vies.addEventListener(ColorPickerEvent.CHANGE,changeColorShape);

function changeColorShape(evt:ColorPickerEvent):void {
var newColorTransform:ColorTransform = vies_mc.transform.colorTransform;
newColorTransform.color = evt.color;
vies_mc.transform.colorTransform = newColorTransform;

}

stop();

btn.addEventListener(MouseEvent.CLICK, redonda) 
function redonda (e:MouseEvent):void {
gotoAndStop(2)
} 

 

espero ter sido claro, e desde já agradeço!

 

para ficar mais claro abaixo o teste, a bolinha deveria ficar

da mesma cor do retangulo pois ela esta mascarando o retângulo.

 

Teste aqui

 

aqui o fla:

Arquivo fla aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite,

 

Isso que você ta tentando faze pode ser feito de muitas outras maneiras até mais adequadas. Mas ae já é outro porém ne...

Usa esse codigo que vai funciona. Ta comentado.

 

import flash.display.MovieClip;
import fl.events.ColorPickerEvent;
import flash.geom.ColorTransform;
import flash.events.MouseEvent;

//crio uma instancia que pode ser visualizada por todo o codigo
var newColorTransform:ColorTransform = new ColorTransform;
//carrego a cor inicial do mc, para que nao tenha um valor nulo
vies_mc.transform.colorTransform = newColorTransform;

colorPicker_vies.selectedColor = 0xcccc00;
colorPicker_vies.showTextField = true;

colorPicker_vies.addEventListener(ColorPickerEvent.CHANGE,changeColorShape);

function changeColorShape(evt:ColorPickerEvent):void {
//carrego a cor selecionada
newColorTransform.color = evt.color;
//altera a cor do mc
vies_mc.transform.colorTransform = newColorTransform;
}

btn.addEventListener(MouseEvent.CLICK, redonda);

function redonda (e:MouseEvent):void {
//envia para o segundo frame e atribui novamente a cor no mc mascarado;
gotoAndStop(2);
vies_mc.transform.colorTransform = newColorTransform;
} 

stop();

 

Espero que ajude,

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo Pedro,

 

só mais uma dúvida

caso fosse mascarar uma imagem carregada

localmente com loader e alterando as mascaras nessa imagem?

 

pois sei que no segundo frame ela irá desparecer como no colorPicker.

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.