当前位置:A5D软件园网络学院网络媒体Flash → 网络学院内容

折线统计图的类

订阅:
减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2008-6-4 16:04:36

继承了条形统计图:

class:

class zxtjt extends txtjt {
 public var b:Boolean = false;
 public var sj_array:Array;
 public var dot_mc:MovieClip;
 public var dot_array:Array;
 public function zxtjt(_array:Array, zb_array:Array, _mc:MovieClip, b:Boolean) {
  this.lx_array = _array;
  this.zb_array = zb_array;
  this._mc = _mc;
  this.max_x = _array.length;
  //
  this.b = b;
 }
 //定义画折线的方法:
 public function zx_fc() {
  //条形的宽度:
  var d:Number = 20;
  //条形的距离:
  var l:Number = 40;
  //条形的高度单位:
  var h:Number = 100/max_fc();
  _mc.createEmptyMovieClip("zx_mc", 50);
  _mc.zx_mc.lineStyle(1, 0xff0000);
  _mc.zx_mc.moveTo(zb_x+8+0.5*d, zb_y-sj_array[0]*100/max_fc());
  for (var i:Number = 1; i<max_x; i++) {
   _mc.zx_mc.lineTo(zb_x+i*l+0.5*d+8, zb_y-sj_array[i]*100/max_fc());
  }
 }
 //定义画小圆点的方法:
 public function dot_fc(dot_mc:MovieClip):Void {
  var x:Number = 0;
  var y:Number = 0;
  var r:Number = 2;
  dot_mc.lineStyle(1, 0xff0000);
  dot_mc.moveTo(x+r, y);
  dot_mc.beginFill(0xff0000);
  for (var i:Number = 0; i<2*Math.PI+0.1; i += 0.1) {
   dot_mc.lineTo(x+r*Math.cos(i), y+r*Math.sin(i));
  }
  dot_mc.endFill();
 }
 //分布小圆点:
 public function fb_fc() {
  var d:Number = 20;
  var l:Number = 40;
  for (var i:Number = 0; i<sj_array.length; i++) {
   _mc.createEmptyMovieClip("dot_mc"+i, 100+i);
   dot_fc(_mc["dot_mc"+i]);
   _mc["dot_mc"+i]._x = zb_x+8+0.5*d+i*l;
   _mc["dot_mc"+i]._y = zb_y-sj_array[i]*100/max_fc();
  }
 }
 //画图:
 public function hzxt_fc(_array:Array) {
  sj_array = _array;
  zx_fc();
  if (b) {
   ht_fc(_array);
  } else {
   fb_fc();
   ht_fc(_array);
   for (var i in _mc) {
    if (typeof (_mc[i]) == "movieclip" && _mc[i]._name.slice(0, 2) == "mc") {
     _mc[i]._visible = false;
    }
   }
  }
 }
}

效果:

赞助商连接