Comunidad de diseño web y desarrollo en internet online

Mostrar Color al hacer click sobre un sprite

Citar            
MensajeEscrito el 29 Dic 2010 08:27 pm
Hola!, estoy necesitando algo aparentemente simple en AS3, pero a mi no me sale. A ver quien me puede ayudar?
Necesito que al hacer click sobre un sprite me muestre en un trace el color en HEXA ( tipo 0xFFCCCC ).

GRACIAS

Por .::Manu::.

45 de clabLevel



Genero:Masculino  

Argentina - Bs.As.

chrome
Citar            
MensajeEscrito el 29 Dic 2010 10:38 pm
Conozco el método para tomar el color, pero no recuerdo si lo devuelve en hexadecimal o no, de todos modos debería existir algún método para traducir el color a hexadecimal en caso de que te lo de de otro modo.
Lo primero que debes hacer es generar un Bitmap de el sprite, para luego tomar el pixel seleccionado.
Por ejemplo:

Código ActionScript :

var bmd:BitmapData = new BitmapData(sprite.width, sprite.height, true);
bmd.draw(sprite);
trace(bmd.getPixel(mouseX, mouseY));

Esto tomaría a un Sprite llamado sprite, crearía un BitmapData a partir de él. Y con getPixel conseguiríamos el color de el pixel seleccionado.
Claro que el código esta absurdamente simplificado, ni siquiera hay un evento "OnClick" ni nada por el estilo. Si no logras adecuarlo, me dices y te doy una ayuda un poco más detallada.

Por JaLeRu

Claber

1913 de clabLevel

7 tutoriales

Genero:Masculino  

Existo

firefox
Citar            
MensajeEscrito el 30 Dic 2010 12:24 pm
^^ GRACIAS!! me sirvió de mucho. Feliz Año nuevo.

PD: Les dejo el código para los que quieran verlo funcionar.

Código ActionScript :


//Genero un SPRITE
var spritex:Sprite = new Sprite();
spritex.graphics.beginFill(0xFFCCCC);
spritex.graphics.drawRect(0,0,50,50);
spritex.addEventListener(MouseEvent.MOUSE_DOWN,mostrarColor);
stage.addChildAt(spritex,1);

//Creo una función que genera un BITMAP del Sprite al hacer click sobre el mismo.
function mostrarColor(e:Event):void
{
   var bmd:BitmapData = new BitmapData(stage.getChildAt(1).width, stage.getChildAt(1).height, true); 
   bmd.draw(stage.getChildAt(1)); 
   trace(bmd.getPixel(mouseX, mouseY));
}

Por .::Manu::.

45 de clabLevel



Genero:Masculino  

Argentina - Bs.As.

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.