用Flash AS3制作常见的柄图动画效果(3) _colorList=colorList; setAngleList(); drawPie(); setDepths(); } private function setAngleList():void { _angleList=[]; var totalData:int; var len:uint=_dataList.length; for (var j:uint=0; j < len; j++) { totalData+= _dataList[j]; } for (j=0; j < len; j++) { if (j == len - 1) { _angleList.push([R,270]); } else { var r:uint=Math.floor(_dataList[j] / totalData * 360); var posR:int=R + r; _angleList.push([R,posR]); R=posR; trace(r+"___r"); trace(R); } } trace(_angleList + ":::"); } private function setDepths():void { _depthList=[]; var len:uint=_angleList.length; for (var j:uint=0; j < len; j++) { var minJ:Number=_angleList[j][0]; var maxJ:Number=_angleList[j][1]; switch (true) { case minJ >= -90 && minJ <= 90 && maxJ<=90 : _depthList[j]=minJ; break; default : _depthList[j]=1000-minJ; } }//end for trace(_depthList + "::::_depthList"); _depthList=_depthList.sort(Array.NUMERIC Array.RETURNINDEXEDARRAY); trace(_depthList); for (j=0; j<len; j++) { setChildIndex(__contain["shape"+_depthList[j]],j); }