用FlashAS实现画图的周详讲解(4)

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

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



  c = daxiao*Math.cos((n 1)*Math.PI/180);

  d = daxiao*Math.sin((n 1)*Math.PI/180);//定义一个终点

  createEmptyMovieClip("yuan", n);

  with (yuan) {

  lineStyle(2, 0x000000, 50);//定义线的样式

  moveTo(a yuanxin_x, b yuanxin_y);

  lineTo(c yuanxin_x, d yuanxin_y);//从起点到终点画线

  }

  if (n<=360) {

  n = n 1;

  }//控制画线的长度,刚好一个圆,1表示画线的速度

  };

  画正多边形

  代码:

  这是个画正多边形的程式,思路:把一个圆划分成n等分,把这些点呗接起来 ,下面是按钮上代码,另外在场景中建两可输入文本框,名为aa,bb。
on (release) {

  daxiao=aa;

  //获取多边形的大小,以像素为单位

  bianshu = bb;

  // 获取边数,整数,从3开始,到无穷大,n多边形就是圆

  jiaodu = 360/bianshu;

  //得到每个等分的角度

  for (n=1; n<=bianshu; n ) {

  //for循环,由bianshu来控制循环的次数,也就是要画的多边形的边数

  a = daxiao*math.cos(n*jiaodu*math.pi/180);

  b = daxiao*math.sin(n*jiaodu*math.pi/180);

  //定义起点的坐标

  c = daxiao*math.cos((n 1)*jiaodu*math.pi/180);

  d = daxiao*math.sin((n 1)*jiaodu*math.pi/180);

  //定义终点的坐标

  createEmptyMovieClip("xian", n);

  // 创建一个空影片xian,n为层次

  with (xian) {

  lineStyle(2, 0xff0000, 100);

  // 定义线的大小、颜色、透明度

  moveTo(a 300, b 200);

  lineTo(c 300, d 200);//从起点到终点画线

  }

  }

  }


  用as画字母F 作者:寒蓝

  代码:
// 创建一个空的mc:

  _root.createEmptyMovieClip("myMc", 0);

  // 定义mc的位置:

  myMc._x = 100;

  myMc._y = 50;

  // 定义填充:

  myMc.beginFill(0xff0000, 100);

  colors = [0xFF0000, 0xffffff];

  alphas = [100, 100];

  ratios = [0, 0xFF];

  matrix = {a:50, b:0, c:0, d:0,

  e:50, f:0, g:50, h:50, i:1};

  myMc.beginGradientFill("linear",

  colors, alphas, ratios, matrix);

  // 定义画线的样式:

  myMc.lineStyle(1, 0xff0000, 100);

  // 移动初始点:

  myMc.moveTo(100, 0);

  // 连接曲线:

  myMc.curveTo(65, 5, 50, 50);

  myMc.curveTo(35, 95, 0, 100);

  // 连接直线

  myMc.lineTo(0, 120);

  myMc.curveTo(45, 110, 62, 70);

  myMc.lineTo(90, 70);

  myMc.lineTo(90, 50);

  myMc.lineTo(70, 50);

  myMc.curveTo(80, 20, 100, 20);

  myMc.lineTo(100, 0);

  // 结束填充:

  myMc.endFill();

  // 清除所画:

  // myMc.clear();


  画正弦线

  代码:
root.onLoad

  = function() {

  daxiao = 100;

  yuanxin_x = 00;

  yuanxin_y = 150;

  };

  _root.onEnterFrame = function() {

  a = daxiao*Math.sin(n*Math.PI/180);

  c = daxiao*Math.sin((n 1)*Math.PI/180);

  createEmptyMovieClip("xian", n);

  with (xian) {

  lineStyle(1, 0x339900, 50);

  moveTo(n yuanxin_x, a yuanxin_y);

  lineTo(n 1 yuanxin_x, c yuanxin_y);

  }

  if (n<=400) {

  n = n 1/2;

  }

  }


  画余弦线

  代码:
_root.onLoad = function() {

  daxiao = 100;

  yuanxin_x = 00;

  yuanxin_y = 150;

  };

  _root.onEnterFrame = function() {

  a = daxiao*Math.cos(n*Math.PI/180);

  c = daxiao*Math.cos((n 1)*Math.PI/180);

  createEmptyMovieClip("yuan", n);

  with (yuan) {

  lineStyle(1, 0x000000, 50);

  moveTo(n yuanxin_x, a yuanxin_y);

  lineTo(n 1 yuanxin_x, c yuanxin_y);

  }

  if (n<=400) {

  n = n 1/2;

  }

  };


  画心脏线

  代码:

  这是个用MX新增功能画线的例子,比在5中用点复制法画线简单多了,用此方法,可动态画数学中任何的图像。
_root.onLoad = function() {

  daxiao = 40;

  // 设定心脏线的大小

  };

  _root.onEnterFrame = function() {

  a = daxiao*(2*Math.cos(n*Math.PI/180)

   Math.cos(2*(n*Math.PI/180)));

  // 通过心脏线的方程定义起点的x坐标

  b = daxiao*(2*Math.sin(n*Math.PI/180)

   Math.sin(2*(n*Math.PI/180)));

标签:

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

上一篇: Flash使用技巧-用Flash制作转动的地球仪

下一篇: 新浪/闪客帝国图片效果解析