|
用Flash AS3制作常见的柄图动画效果(4) } private function drawPie():void { __contain={}; var len:uint=_angleList.length; var step:uint=1; for (var j:uint=0; j < len; j++) { __contain["shape"+j]=new MovieClip; //设置中心角,方便以下进行点中移动 __contain["shape"+j].r=(_angleList[j][0]+_angleList[j][1])/2; __contain["shape" + j].addEventListener(MouseEvent.MOUSE_DOWN,onMouseDownX); addChild(__contain["shape"+j]); var drakColor:uint=getDarkColor(_colorList[j]);//深色 var g:Graphics=__contain["shape"+j].graphics; //g.lineStyle(1); //先画底 //内弧 g.beginFill(_colorList[j],_alpha); g.moveTo(_x0,_y0+_h); var r:Number=_angleList[j][0]; var minR:Number=r; var maxR:int=_angleList[j][1]; while (r + step < maxR) {
g.lineTo(getRPoint(_x0,_y0 + _h,_a,_b,r).x,getRPoint(_x0,_y0 + _h,_a,_b,r).y); r+= step; } g.lineTo(getRPoint(_x0,_y0 + _h,_a,_b,maxR).x,getRPoint(_x0,_y0 + _h,_a,_b,maxR).y); // g.endFill(); //画内侧面 g.beginFill(drakColor,_alpha); g.moveTo(_x0,_y0+_h); g.lineTo(getRPoint(_x0,_y0 + _h,_a,_b,minR).x,getRPoint(_x0,_y0 + _h,_a,_b,minR).y); g.lineTo(getRPoint(_x0,_y0,_a,_b,minR).x,getRPoint(_x0,_y0,_a,_b,minR).y); g.lineTo(_x0,_y0); g.endFill(); //画外侧面 g.beginFill(drakColor,_alpha); g.moveTo(_x0,_y0+_h);
|