详细代码:
/*---design by whb in 2009-8-16---
_radius:半径;_fontSize:字体的大小
用于画一个扇形统计图;
*/
package maths{
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
import flash.events.MouseEvent;
public class Pie extends Sprite {
private var colors:Array=[0x000000,0xff0000,0x00ff00,0x0000ff,0xffff00,0x00ffff,0xff00ff,0x999900,0x009900,0x9999ff];
private var radius:Number;
private var pies:Array=[];
private var txts:Array=[];
private var angles:Array=[];
private var rects:Array=[];
private var datas:Array=[];
private var labels:Array=[];
private var txtFormat:TextFormat;
private var pie:Sprite;
private var rect:Sprite;
private var txt:TextField;
public function Pie(_radius:Number=40,_fontSize:uint=15) {
radius=_radius;
txtFormat=new TextFormat();
txtFormat.size=_fontSize;
}
public function drawPies(_array:Array) {
for each(var obj in _array){
datas.push(obj.data);
labels.push(obj.label);
}
//计算圆心角:
var sumAngle:Number=0;
for each (var angle in datas) {
sumAngle+=angle;
}
for each (var a in datas) {
angles.push((a/sumAngle)*2*Math.PI);
}
//画扇形图:
for(var i:uint=0;i
本文转自:http://www.5uflash.com/flashjiaocheng/Flashaschengxu/5139.html