ANIMOVANY GRAF as3 |
Alternatívne riešenie tohto príkladu, stači skopirovať script do actions okna, nič nieje potrebné umiestňovať na scénu.
var startX:Number=10; var startY:Number=220; var sirka:Number=25; var vyska:Number=0; var n:Number=0; var grafData:Array=[{val:120,col:0xFF0000},{val:200,col:0x00FF00}, {val:55,col:0x0000FF},{val:171,col:0xFFFF00}, {val:105,col:0x00FF98},{val:15,col:0x65FFFF}, {val:88,col:0x000000},{val:190,col:0xFF00FF}, {val:23,col:0x9900FF},{val:0,col:0xFFFFFF}]; //last value should be 0 var i:Number=(grafData.length) - 1; var mojGraf:Shape = new Shape(); var valuesArray:Array = new Array(); var myDelay:Timer=new Timer(10); myDelay.addEventListener(TimerEvent.TIMER, generateCHART); myDelay.start(); function generateCHART(event:TimerEvent):void { mojGraf.graphics.beginFill(grafData[n].col); mojGraf.graphics.drawRect(startX+(n*35),startY,sirka,(grafData[n].val/100)*vyska); mojGraf.graphics.endFill(); mojGraf.graphics; addChild(mojGraf); trace(vyska+" | "+grafData[n].val+" | "+(grafData[n].val/100)*vyska); if (vyska<-98) { if(n<i){ valuesArray[n] = new TextField(); valuesArray[n].width=25; valuesArray[n].textColor=0x000000; valuesArray[n].y=startY; valuesArray[n].text=grafData[n].val; valuesArray[n].x=startX+(n*35); addChild(valuesArray[n]); n++; }else{ myDelay.stop(); } vyska=0; } vyska-=2; } |