Flash动态遮罩的原理和应用(3)

2008-04-02 10:34:32来源:互联网 阅读 ()

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



  在上面图的坐标分别为:

  代码:

  


  x1 = r*sin(O)

  x2 = r*sin(O dO)

  y1 = r*cos(O)

  y2 = r*cos(O dO)

  


  原理就是绘制出圆的1/100也就是3.6度,也就是说我们需要绘一个三角形,然后不断的绘制,直到100.

  您需要先在场景中创建圆形,转换为影片剪辑,同时要注意的问题是您必须在这个影片剪辑的内部将其中央对齐。这一点是很重要的。

  选择圆形剪辑,加入如下代码:

  代码:

  


  onClipEvent(load)

  {

  _root.stop();

  dO = 3.6;

  r = 75;

  function addSlice(O)

  {

  x1 = r*Math.sin(O*Math.PI/180);

  x2 = r*Math.sin((O dO)*Math.PI/180);

  y1 = r*Math.cos((O)*Math.PI/180);

  y2 = r*Math.cos((O dO)*Math.PI/180);

  trace(x1 ":" y1);

  with(_root.mask)

  {

  moveTo(0,0);

  beginFill(0x000088);

  lineTo(x1,y1);

  lineTo(x2,y2);

  endFill();

  }

  }

  _root.createEmptyMovieClip("mask",0);

  this.setMask(_root.mask);

  _root.mask._yscale = -100;

  _root.mask._x = this._x;

  _root.mask._y = this._y;

  oldLoaded = 0;

  }

  onClipEvent(enterFrame)

  {

  loaded = Math.ceil(_root.getBytesLoaded()/_root.getBytesTotal()*100);

  for(i = oldLoaded; i < loaded; i )

  {

  addSlice(dO*i);

  }

  oldLoaded = loaded;

  }

  


  在上面的代码中_root.mask._yscale=-100是用来按制方向的,正向还是反向,同时我们注意到有两个变量,oldloaded和loaded.之所以有oldloade是为了存放我们之前下载的数值。

  好,现在能够测试您的影片了。为了看到效果,您能够边续按两次回车。

  观看演示4

  

  


标签:

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

上一篇: FLASHWEB制作实例讲解(帧标签的使用)

下一篇: Flash视觉特效的制作