whb - 2008-5-9 16:28:00
class sxtjt {
public var fk_x:Number = 350;
public var fk_y:Number = 100;
public var x0:Number = 200;
public var y0:Number = 200;
public var r:Number = 80;
public var ys_array = new Array(0x000000, 0xff0000, 0x00ff00, 0x0000ff, 0xcccc66);
public var lx_array:Array = new Array("新闻:", "体育:", "动画:", "娱乐:", "戏曲:");
public var sj_array:Array;
public var jd_array:Array = new Array();
public var mc:MovieClip;
public var zs:Number = 0;
public function sxtjt(sj_array:Array, mc:MovieClip) {
this.sj_array = sj_array;
this.mc = mc;
}
//计算sj_array的数据的和;
public function setp():Number {
var i:Number = 0;
for (i=0; i<this.sj_array.length; i++) {
this.zs = this.zs+this.sj_array;
}
return this.zs;
}
//给jd_array赋值;
public function seth() {
var i:Number = 0;
setp();
for (i=0; i<this.sj_array.length; i++) {
if (i == 0) {
this.jd_array = Math.round(1000*(2*Math.PI)*(this.sj_array/this.zs))/1000;
} else {
this.jd_array = this.jd_array[i-1]+Math.round(1000*(2*Math.PI)*(this.sj_array/this.zs))/1000;
}
}
}
//画扇形:
public function sethsx():Void {
seth();
var l_array = new Array();
l_array[0] = Number(0);
var hh_array = l_array.concat(this.jd_array);
var i:Number;
var j:Number;
for (i=0; i<this.jd_array.length; i++) {
//fangkuai
this.mc.createEmptyMovieClip("fk"+i, 40+i);
this.mc["fk"+i].lineStyle(1, 0x000000, 100);
this.mc["fk"+i].moveTo(fk_x, fk_y+(i*30)+20);
this.mc["fk"+i].beginFill(ys_array);
this.mc["fk"+i].lineTo(fk_x+20, fk_y+(i*30)+20);
this.mc["fk"+i].lineTo(fk_x+20, fk_y+(i*30)+40);
this.mc["fk"+i].lineTo(fk_x, fk_y+(i*30)+40);
this.mc["fk"+i].lineTo(fk_x, fk_y+(i*30)+20);
this.mc["fk"+i].endFill();
//fangkuang
mc.lineStyle(1, 0x000000, 100);
mc.moveTo(fk_x-10, fk_y+12);
mc.lineTo(fk_x+90, fk_y+12);
mc.lineTo(fk_x+90, fk_y+sj_array.length*30+20);
mc.lineTo(fk_x-10, fk_y+sj_array.length*30+20);
mc.lineTo(fk_x-10, fk_y+12);
//shuzi
this.mc.createTextField("shz"+i, 60+i, fk_x+22, fk_y+(i*30)+20, 140, 40);
this.mc["shz"+i].text = lx_array+Math.round(1000*sj_array/zs)/10+"%";
//shanxing
this.mc.createEmptyMovieClip("mc"+i, i);
this.mc["mc"+i]._alpha = 50;
this.mc["mc"+i].onRollOver = function() {
this._alpha = 100;
};
this.mc["mc"+i].onRollOut = function() {
this._alpha = 50;
};
this.mc["mc"+i].lineStyle(1, 0x000000, 100);
this.mc["mc"+i].moveTo(x0, y0);
this.mc["mc"+i].beginFill(ys_array);
for (j=hh_array; j<=hh_array[i+1]; j=j+0.001) {
var x1 = x0+r*Math.cos(j);
var y1 = y0+r*Math.sin(j);
this.mc["mc"+i].lineTo(x1, y1);
}
this.mc["mc"+i].lineTo(x0, y0);
this.mc["mc"+i].endFill();
}
}
}