Thanks for your responses guys. I'm still stuck on this and I have been playing around a lot. I can get the number from the decimal format to the hex string but when I try to convert it to a hex number the colour is incorrect. Any advice much much appreciated, this is taking up lots of time.
Thanks: public function colorIn(o:Object):void { trace("==================="); var colA:Array = o.Colors.split(","); colA.splice(0,1); for ( var i:uint=1; i<=totSprites-1; i++ ) { var c:String = colA[i]; trace("string colour:"+c); // e.g. for red: 16711680 //convert to decimal number var tmpN:Number = Number(c); trace("decimal:"+tmpN); // traces: 16711680 //convert to string of hex number var hexStr:String = tmpN.toString(16); trace("hexStr:"+hexStr); //traces: ff0000 //convert to hex number var hexNum:Number = parseInt(c, 16); trace("= = = = = = => hex number:"+hexNum); //traces in decimal format and wrong number: 376510080 //set mc to color var mcToCol:* = mainImage["s"+i]; //transform color var newColorTransform:ColorTransform = mcToCol.transform.colorTransform; newColorTransform.color = hexNum; mcToCol.transform.colorTransform = newColorTransform; }; } On Mon, Feb 9, 2009 at 8:55 PM, Merrill, Jason < jason.merr...@bankofamerica.com> wrote: > Courtesy Evan Mullins of Circlecube Studio: > > //bitwise conversion of rgb color to a hex value > function rgb2hex(r, g, b):Number > { > return(r<<16 | g<<8 | b); > } > > //bitwise conversion of a hex color into rgb values > function hex2rgb (hex):Object > { > var red = hex>>16; > var greenBlue = hex-(red<<16) > var green = greenBlue>>8; > var blue = greenBlue - (green << 8); > //trace("r: " + red + " g: " + green + " b: " + blue); > return({r:red, g:green, b:blue}); > } > > > > Jason Merrill > > Bank of America > Learning Performance Solutions Instructional Technology & Media > > Learn about the Adobe Flash platform for rich media experiences - join > the Bank of America Flash Platform Community > > > > > > > -----Original Message----- > From: flashcoders-boun...@chattyfig.figleaf.com > [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of ali > drongo > Sent: Monday, February 09, 2009 12:26 PM > To: Flash Coders List > Subject: [Flashcoders] Converting hex colour numbers back and forth > > Hi there, I'm saving a bunch of colours as a string then using this > string > later to colour objects in the same way. Something is going wrong > though as > the colours I am getting back are not the same as the ones I put in. > If anyone could point out where I'm going wrong I'd be really grateful, > I've > googled this and and have checked the help files and as far as I can see > it's correct (though obviously it isn't!). > > Here's my code, I've written comments next to the relevant lines: > > /// in my coloured button class > > > // 1) colour is set on mouse click > private function clickHandler(e:MouseEvent):void > { > // passes hexValue from ColorPicker > colorThis(this.parent.parent["colorPick"].hexValue); > } > // 2) color is stored in var > public function colorThis(c:String):void > { > //stores colour > currColor = Number("0x"+c); > var newColorTransform:ColorTransform = this.transform.colorTransform; > newColorTransform.color = currColor; > this.transform.colorTransform = newColorTransform; > } > > > > // application class > // 3) stores colors in an array > private function collectColors():Array > { > colors_ar = new Array(); > for ( var i:uint=1; i<=totSprites; i++ ) { > //stores colour in array > colors_ar[i] = mainImage["s"+i].currColor; > }; > return colors_ar; > } > > // 4) array is written to string and sent to php to be written to txt > file > > private function sendData(e:MouseEvent):void > { > showSending(true); > var variables:URLVariables = new URLVariables(); > //stores all colours as a string > variables.colors = collectColors().toString(); > var request:URLRequest = new URLRequest(); > request.url = "http://www.xxxx.com/text/test.php"; > request.method = URLRequestMethod.POST; > request.data = variables; > var loader:URLLoader = new URLLoader(); > loader.dataFormat = URLLoaderDataFormat.TEXT; > loader.addEventListener(Event.COMPLETE, completeHandler); > try > { > loader.load(request); > } > catch (error:Error) > { > trace("Unable to load URL"); > } > } > > > ///////// viewer class > // 5) > > public function colorIn(o:Object):void > { > var colA:Array = o.Colors.split(","); > colA.splice(0,1); > for ( var i:uint=1; i<=totSprites; i++ ) { > //calls the method in the coloured button class > mainImage["s"+i].colorThis(colA[i]).toString(16); > }; > } > _______________________________________________ > Flashcoders mailing list > Flashcoders@chattyfig.figleaf.com > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > _______________________________________________ > Flashcoders mailing list > Flashcoders@chattyfig.figleaf.com > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > _______________________________________________ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders