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

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

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


  leftAccel = (leftGoal-left)*rate;

  leftVeloc = leftAccel;

  leftVeloc *= decay;

  left = leftVeloc;

  rightAccel = (rightGoal-right)*rate;

  rightVeloc = rightAccel;

  rightVeloc *= decay;right = rightVeloc;

  topAccel = (topGoal-top)*rate;

  topVeloc = topAccel;

  topVeloc *= decay;top = topVeloc;

  for (var i = 0; i<shapes.length; i ) {

  with (_root["flame" i]) {

  clear();colors = [0xFCE39C, 0xF4AC35];

  alphas = [_root["flame" i].fade,

  _root["flame" i].fade-20];

  ratios = [70, 255];

  matrix = {matrixType:"box", x:-50,

  y:50, w:100, h:200, r:0};

  beginGradientFill("radial",colors,

  alphas, ratios, matrix);

  lineStyle(1, 0x000000, 0);

  moveTo(0-left right,0-top-_root

  ["flame" i].offset*2);

  curveTo(40 _root["flame" i].

  offset right, 180,0, 200);

  curveTo(-40-_root["flame" i].

  offset-left, 180, 0-left right,

  0-top-_root["flame" i].offset*2);

  endFill();

  }

  } with (_root.heat) {

  clear();colors = [0x986932, 0x986932];

  alphas = [70, 0];

  ratios = [20, 255];

  matrix = {matrixType:"box",

  x:-20-left/2, y:120-top, w:40 right/2,h:120 top, r:0

  };

  beginGradientFill("radial",

  colors, alphas, ratios, matrix);

  lineStyle(1,0x000000, 0);

  moveTo(-50, 0);

  lineTo(50, 0);

  lineTo(50, 200);

  lineTo(-50, 200);

  lineTo(-50,0);

  endFill();

  }

  duplicateMovieClip(

  _root["flame" (shapes.length-1)],

  "shapeMask",shapes.length 1);

  heat.setMask(shapeMask);

  };

  十四面体代码:
_root.onLoad = function() {

  c1 = 200;

  c2 = 250;

  c3 = 50;

  c4 = 10;

  };

  _root.onEnterFrame = function() {

  aa = 100;

  bb = 100;

  // 控制横向

  cc = _root.right_s3.getvalue();

  dd = _root.right_s4.getvalue();

  ee = _root.right_s5.getvalue();

  ff = _root.right_s6.getvalue();

  gg = _root.right_s7.getvalue();

  daxiao1 = aa;

  daxiao2 = bb;

  sutu = cc;

  zhox = ee;

  bianshu1 = dd;

  // 控制速度和方向

  _root.createEmptyMovieClip("triangle", 1);

  lineStyle(0, 0x000000, 100);

  with (_root.triangle) {

  // 画虚线

  a1 = daxiao2*math.sin((n 1*60)*math.pi/180);

  b1 = daxiao1*math.cos((n 1*60)*math.pi/180);

  a2 = daxiao2*math.sin((n (i 1)*60)*math.pi/180);

  b2 = daxiao1*math.cos((n (i 1)*60)*math.pi/180);

  lineStyle(1, 0xff0000,100);

  // 中面的6个点

  moveTo(daxiao2*math.sin((n 1*60)

  *math.pi/180) c1,daxiao1*math.cos

  ((n 1*60)*math.pi/180) c2-gg-c3);

  lineTo(daxiao2*math.sin((n 6*60)

  *math.pi/180) c1,daxiao1*math.cos

  ((n 6*60)*math.pi/180) c2-gg-c3);

  moveTo(daxiao2*math.sin((n 3*60)

  *math.pi/180) c1,daxiao1*math.cos

  ((n 3*60)*math.pi/180) c2-gg-c3);

  lineTo(daxiao2*math.sin((n 2*60)

  *math.pi/180) c1,daxiao1*math.cos

  ((n 2*60)*math.pi/180) c2-gg-c3);

  moveTo(daxiao2*math.sin((n 5*60)

  *math.pi/180) c1,daxiao1*math.cos

  ((n 5*60)*math.pi/180) c2-gg-c3);

  lineTo(daxiao2*math.sin((n 4*60)

  *math.pi/180) c1,daxiao1*math.cos

  ((n 4*60)*math.pi/180) c2-gg-c3);

  // 连上下的12个点

  moveTo(daxiao2*math.sin((n 1*60)

  *math.pi/180) c1,daxiao1*math.cos

  ((n 1*60)*math.pi/180) c2-gg);

  lineTo(daxiao2*math.sin((n 2*60)

  *math.pi/180) c1,daxiao1*math.cos

  ((n 2*60)*math.pi/180) c2-gg);

  moveTo(daxiao2*math.sin((n 3*60)

  *math.pi/180) c1,daxiao1*math.cos

  ((n 3*60)*math.pi/180) c2-gg);

  lineTo(daxiao2*math.sin((n 4*60)

  *math.pi/180) c1,daxiao1*math.cos

  ((n 4*60)*math.pi/180) c2-gg);

  moveTo(daxiao2*math.sin((n 5*60)

  *math.pi/180) c1,daxiao1*math.cos

  ((n 5*60)*math.pi/180) c2-gg);

  lineTo(daxiao2*math.sin((n 6*60)

  *math.pi/180) c1,daxiao1*math.cos

  ((n 6*60)*math.pi/180) c2-gg);

  // 中面的6个点,但连线不相同,注意

标签:

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

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

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