Ir para conteúdo

POWERED BY:

Arquivado

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

Freelife

[Resolvido] paleta de cores

Recommended Posts

Bom dia galera...

 

Estou tentando criar uma "paleta" de cores para um editor de texto que estou fazendo(modificando). Estou usando um tutorial que tem esse código:

 

import flash.display.*;
import flash.geom.*;
var bitmap = new BitmapData(_root.mcCor._width, _root.mcCor._height);
bitmap.draw(_root.mcCor);
onMouseMove = function () {
	if (_root.mcCor.hitTest(_xmouse, _ymouse, true)) {
		var CorAtual:Number = bitmap.getPixel(_root.mcCor._xmouse, _root.mcCor._ymouse);
		var CorTransf = new ColorTransform();
		CorTransf.rgb = CorAtual;
		_root.alvo.transform.colorTransform = CorTransf;
		trace(CorAtual.toString(16));
	}
};

Eu consegui alterar o código para AS3 e ficou assim:

 

var bitmap = new BitmapData(paleta_mc.width, paleta_mc.height);
bitmap.draw(paleta_mc);
var alteraCor = new ColorTransform();
function transformar(evt_cor:MouseEvent){
	if(paleta_mc.hitTestPoint(mouseX, mouseY, true)){
		var corAtual:Number = bitmap.getPixel(paleta_mc.mouseX, paleta_mc.mouseY);
		alteraCor.color = corAtual;
		trace(corAtual);
		paleta_mc.alvo_mc.transform.colorTransform = alteraCor;
	}
}
paleta_mc.addEventListener(MouseEvent.MOUSE_MOVE, transformar);

Dentro da "paleta_mc" eu tenho vários quadradinhos, cada um com uma cor(tbém tentei com uma imagem spectrum), quando passo o mouse sobre uma das cores o alvo recebe a cor do quadrado.

 

O problema é a àrea. Como se a paleta estivesse dividida em quatro quadrados diferentes, a única àrea que funciona é a que fica do lado direito inferior, os outros 3 lados não funciona. Tipo assim

1 2
4 3//Só aqui na parte três é que funciona.

Quando o passou o mouse sobre os outros quadrados ele consegua até identificar o movimento, não a cor.

 

Será que alguém sabe o problema?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sei qual é o problema ai, mas só pra citar outra solução, o flash já tem um componente de paleta de cor pronto, é o ColorPicker

 

dá uma olhada nele, até dá pra personaliza-lo

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sei qual é o problema ai, mas só pra citar outra solução, o flash já tem um componente de paleta de cor pronto, é o ColorPicker

 

dá uma olhada nele, até dá pra personaliza-lo

 

 

 

[]´s

Vlw Eder eu não sabia, vai ficar muito mais fácil...

 

Vou dar uma estudada.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eder...

 

Cara... valeu mesmo... eu aqui me matando para fazer o negócio e era tão simples...

O Código ficou assim

//mudar a cor do texto.
//Cria um objeto ColorPicker.
var cor:ColorPicker = new ColorPicker();
//define a var como ouvinte. Quando a cor for selecionada chama a função.
cor.addEventListener(ColorPickerEvent.CHANGE, alteraCor);
//define o tamanho do objeto.
cor.setSize(22,22);
//posiciona o objeto no palco.
cor.move(100, 5);
//adiciona o 
addChild(cor);

function alteraCor(Event:ColorPickerEvent):void{
	trace("{ColorPicker}.selectedColor:", cor.selectedColor);
	trace("{ColorPicker}.hexValue:", cor.hexValue);
}

Valeu e obrigado.

 

Abraços

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.