I would like to see what other people can do with this code.
I’m not a good code writer and I’m kinda at the end of my abilities until I learn some more.
any how feel free to play with this kuler app I made.
all drawing is from the api so paste in to a blank file. no library needed
example
http://gfxcomplex.com/labs/kulerApp2.html
var myXML:XML = new XML();
var XML_URL:String = "http://kuler.adobe.com/kuler/services/search/get.cfm?searchQuery=joshchernoff";
var myXMLURL:URLRequest = new URLRequest(XML_URL);
var myLoader:URLLoader = new URLLoader(myXMLURL);
myLoader.addEventListener("complete", xmlLoaded);
import flash.events.TextEvent;
var rgbHex:Array = new Array();
var holder:Array = new Array();
var time:Timer = new Timer(5000);
var countDown:Timer = new Timer(50, 100);
time.addEventListener(TimerEvent.TIMER, changeColor);
countDown.addEventListener(TimerEvent.TIMER, alphaTo);
var nodes1:uint = 0;
var node:uint = 0;
function numRoundTo(n:Number, p:Number):Number {
return Math.round(Math.pow(10,p) * n) / Math.pow(10,p);
}
function xmlLoaded(event:Event):void {
myXML = XML(myLoader.data);
for (var theme in myXML.themeList.theme) {
var red1 = numRoundTo(myXML.themeList.theme[theme].swatches.swatch[0].c1 * 255, 0);
var green1 = numRoundTo(myXML.themeList.theme[theme].swatches.swatch[0].c2 * 255, 0);
var blue1 = numRoundTo(myXML.themeList.theme[theme].swatches.swatch[0].c3 * 255, 0);
var rgb1 = hexColor(red1,green1,blue1);
var red2 = numRoundTo(myXML.themeList.theme[theme].swatches.swatch[1].c1 * 255, 0);
var green2 = numRoundTo(myXML.themeList.theme[theme].swatches.swatch[1].c2 * 255, 0);
var blue2 = numRoundTo(myXML.themeList.theme[theme].swatches.swatch[1].c3 * 255, 0);
var rgb2 = hexColor(red2,green2,blue2);
var red3 = numRoundTo(myXML.themeList.theme[theme].swatches.swatch[2].c1 * 255, 0);
var green3 = numRoundTo(myXML.themeList.theme[theme].swatches.swatch[2].c2 * 255, 0);
var blue3 = numRoundTo(myXML.themeList.theme[theme].swatches.swatch[2].c3 * 255, 0);
var rgb3 = hexColor(red3,green3,blue3);
var red4 = numRoundTo(myXML.themeList.theme[theme].swatches.swatch[3].c1 * 255, 0);
var green4 = numRoundTo(myXML.themeList.theme[theme].swatches.swatch[3].c2 * 255, 0);
var blue4 = numRoundTo(myXML.themeList.theme[theme].swatches.swatch[3].c3 * 255, 0);
var rgb4 = hexColor(red4,green4,blue4);
var red5 = numRoundTo(myXML.themeList.theme[theme].swatches.swatch[4].c1 * 255, 0);
var green5 = numRoundTo(myXML.themeList.theme[theme].swatches.swatch[4].c2 * 255, 0);
var blue5 = numRoundTo(myXML.themeList.theme[theme].swatches.swatch[4].c3 * 255, 0);
var rgb5 = hexColor(red5,green5,blue5);
//trace (hexColor(red,green,blue));
rgbHex[theme] = rgb1;
rgbHex[theme] = rgb2;
rgbHex[theme] = rgb3;
rgbHex[theme] = rgb4;
rgbHex[theme] = rgb5;
holder[theme] = new Sprite();
addChild(holder[theme]);
var square1:Sprite = new Sprite();
square1.graphics.beginFill(rgb1);
square1.graphics.drawRoundRect(0, 0, 75, 150, 10, 0);
square1.graphics.endFill();
holder[theme].addChild(square1);
var square2:Sprite = new Sprite();
square2.graphics.beginFill(rgb2);
square2.graphics.drawRoundRect(75, 0, 75, 150, 10, 0);
square2.graphics.endFill();
holder[theme].addChild(square2);
var square3:Sprite = new Sprite();
square3.graphics.beginFill(rgb3);
square3.graphics.drawRoundRect(150, 0, 75, 150, 10, 0);
square3.graphics.endFill();
holder[theme].addChild(square3);
var square4:Sprite = new Sprite();
square4.graphics.beginFill(rgb4);
square4.graphics.drawRoundRect(225, 0, 75, 150, 10, 0);
square4.graphics.endFill();
holder[theme].addChild(square4);
var square5:Sprite = new Sprite();
square5.graphics.beginFill(rgb5);
square5.graphics.drawRoundRect(300, 0, 75, 150, 10, 0);
square5.graphics.endFill();
holder[theme].addChild(square5);
nodes1 = theme;
node = theme+1;
/* var c1:TextField = new TextField();
c1.x = 0;
holder[theme].addChild(c1);
c1.text = "#"+rgb1.toString(16);
c1.autoSize = TextFieldAutoSize.LEFT;
var c2:TextField = new TextField();
c2.x = 75;
holder[theme].addChild(c2);
c2.text = "#"+rgb2.toString(16);
c2.autoSize = TextFieldAutoSize.LEFT;
var c3:TextField = new TextField();
c3.x = 150;
holder[theme].addChild(c3);
c3.text = "#"+rgb3.toString(16);
c3.autoSize = TextFieldAutoSize.LEFT;
var c4:TextField = new TextField();
c4.x = 225;
holder[theme].addChild(c4);
c4.text = "#"+rgb4.toString(16);
c4.autoSize = TextFieldAutoSize.LEFT;
var c5:TextField = new TextField();
c5.x = 300;
holder[theme].addChild(c5);
c5.text = "#"+rgb5.toString(16);
c5.autoSize = TextFieldAutoSize.LEFT;
var test:TextField = new TextField();
test.y = 55;
test.x = 30;
test.htmlText = "<font size='16' >By: "+myXML.themeList.theme.author.label[theme]+"
Title: <a href=\"http://kuler.adobe.com/index.cfm#themeID/"+myXML.themeList.theme.id[theme]+"\" target=\"_self\">"+myXML.themeList.theme.label[theme]+"</a>
<a href=\"http://kuler.adobe.com/kuler/services/ase/get.cfm?themeId="+myXML.themeList.theme.id[theme]+"\">DownLoad ACE file</a></font>";
test.autoSize = TextFieldAutoSize.LEFT;
test.multiline = true;*/
}
time.start();
}
function alphaTo(event:TimerEvent) {
holder[nodes1].alpha -= .1;
/* holder[nodes1].c1.alpha -= .0;
holder[nodes1].c2.alpha -= .0;
holder[nodes1].c3.alpha -= .0;
holder[nodes1].c4.alpha -= .0;
holder[nodes1].c5.alpha -= .0;*/
if (holder[nodes1].alpha < .0) {
countDown.stop();
nodes1--;
}
}
function changeColor(event:TimerEvent) {
trace(nodes1);
trace(holder[nodes1]);
countDown.start();
if (nodes1 == 0) {
for(var i:uint = 1; i<node; i++){
holder*.alpha = 1;
/*holder*.c1.alpha = 1;
holder*.c2.alpha = 1;
holder*.c3.alpha = 1;
holder*.c4.alpha = 1;
holder*.c5.alpha = 1;*/
}
nodes1 = node;
}
}
function hexColor(r:uint,g:uint,b:uint):uint {
return r << 16 ^ g << 8 ^ b;
}