Freelife 2 Denunciar post Postado Fevereiro 16, 2009 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
Eder Fortunato 15 Denunciar post Postado Fevereiro 16, 2009 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
Freelife 2 Denunciar post Postado Fevereiro 16, 2009 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
Freelife 2 Denunciar post Postado Fevereiro 17, 2009 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