package { import flash.display.Sprite; import flash.net.*; import flash.events.*; import flash.utils.setTimeout; import caurina.transitions.Tweener; [SWF(backgroundColor="#000000", frameRate="25")] public class KulerTest extends Sprite { static public const KULER_API:String = "http://kuler-api.adobe.com/rss/get.cfm?listType=random&startIndex=1&itemsPerPage=1&timeSpan=6000&key=02B22870C7D027FC33E7497791EB9904"; static public const REFRESH_INTERVAL:uint = 3000; private var container:Sprite = null; private var tmp_container:Sprite = null; public function KulerTest() { addEventListener(Event.ADDED_TO_STAGE,init); } private function init(e:Event=null):void { if(tmp_container!=null) removeChild(tmp_container); var loader:URLLoader = new URLLoader(); loader.addEventListener(Event.COMPLETE,onLoadXML); loader.load(new URLRequest(KULER_API)); } private function onLoadXML(e:Event=null):void { tmp_container = container; container = new Sprite(); var xml:XML = new XML(URLLoader(e.target).data); var kuler:Namespace = new Namespace("http://kuler.adobe.com/kuler/API/rss/"); var swatches:XML = xml[0].channel[0].item[0].kuler::themeItem[0].kuler::themeSwatches[0]; var tgx:uint = 0 ,len:uint = 5; for each(var swatch:XML in swatches.kuler::swatch) { var spr:Sprite = new Sprite(); var hex:Number = Number("0x"+swatch.kuler::swatchHexColor); spr.graphics.beginFill(hex,1); spr.graphics.drawRect(0,0,stage.stageWidth/len,stage.stageHeight); spr.graphics.endFill(); spr.x = tgx; tgx += uint(spr.width); container.addChild(spr); spr.scaleX = 0; Tweener.addTween(spr,{ time:1, scaleX:1, transition:"easeInOutQuad" }); } addChild(container); setTimeout(init,REFRESH_INTERVAL); } } } KULER TEST