一个AS画线的代码

2008-04-02 11:02:37来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  只要增加或更改数组里的点就能够画线了。当然也能够和其他程式结合使用

  var point = new Array();

  point[0] = [100, 200];

  point[1] = [300, 300];

  point[2] = [100, 100];

  point[3] = [200, 400];

  var x = point[0][0];

  var y = point[0][1];

  var i = 1;

  createEmptyMovieClip("line", 1);

  line.lineStyle(1, 0x0000FF, 100);

  line.moveTo(point[0][0], point[0][1]);

  line.onEnterFrame = function() {

   if (x != point[i][0] && y != point[i][1]) {

   x = (x < point[i][0]) ? (x 1) : (x - 1);

   y = (x-point[i-1][0])*(point[i][1]-point[i-1][1])/(point[i][0]-point[i-1][0]) point[i-1][1];

   this.lineTo(x, y);

  } else if (x != point[i][0]) {

   x = (x < point[i][0]) ? (x 1) : (x - 1);

   this.lineTo(x, y);

  } else if (y != point[i][1]) {

   y = (x < point[i][1]) ? (y 1) : (y - 1);

   this.lineTo(x, y);

  } else if (i < point.length - 1) {

   i ;

  } else {

   delete this.onEnterFrame;

  }

  };

  代码解析:

  首先,先建立个叫point的数组,用来存放各个点的信息...这里是加了四个点,当然您能够随便修改里面的值,或是随便增加其他的点,但是注意按顺序排列哦,不然就得加个排序进去..

  var point = new Array();

  point[0] = [100, 200];

  point[1] = [300, 300];

  point[2] = [100, 100];

  point[3] = [200, 400];

  定义x和y的初始值为point的第一个元素里的值...连同定义i为1

  var x = point[0][0];

  var y = point[0][1];

  var i = 1;

  开始画线的程式了,创造个空的MC,并命名为line,放在第一层上

  createEmptyMovieClip("line", 1);

  配置线的属性,宽度为1,颜色是纯蓝色,透明度为100,也就是不透明,您能够按照自己的喜好来更改这里的属性

  line.lineStyle(1, 0x0000FF, 100);

  在line里定义起点为数组第一个元素里的两个值

  line.moveTo(point[0][0], point[0][1]);

  开始运算...

  line.onEnterFrame = function() {

  当x和y都没到达目标的时候,继续画下去

  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: FlashActionScript学习:把AS写在MC上

下一篇: Flash脚本的执行顺序