Flash制作雪花的另外一种方法

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

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


  解决思路

  主要的构思就是通过对一个雪花影片剪辑的复制出许多雪花,当然这是有限度的。不然cpu会受不了的。然后通过配置复制出来的雪花的位置坐标,达到下雪的效果。

  具体步骤

  1, 运行flash mx,配置文档属性为500*400。在图层1绘制一个渐变填充的背景。

  2, 新建一个影片剪辑,命名为“雪花”。在编辑区内画一个简单的雪花形状。大小约为11*11像素。如图1所示。

  

  3, 返回到主场景,把影片剪辑“雪花”拖放到场景中,在属性面板中命名为“snow”。

  4, 选中影片剪辑,打开as面板,添加如下语句:

  

onClipEvent (enterFrame) {

  //每播放一帧就执行一次下面的AS

  this._x = Math.random()*(this._xscale)/10;

  this._y = Math.random()*(this._yscale)/10;//让雪花在X、Y轴方向上运动,每次移动的距离为自身大小的1/10左右,为加强随机效果,我们用到Math.random()来更好的控制。

  if (this._x>500) {

  this._x = 0;

  }

  //当雪花飘出主场景时,重新回到主场景的左方。

  if (this._y>400) {

  this._y = 0;

  }

  //当雪花飘出主场景时,重新回到主场景的上方。

  }

  5, 新建一个图层,在第1帧添加as

  

i = 1;

  while (i<=200) {

  duplicateMovieClip("snow", "snow" i, i);

  setProperty("snow" i, _x, random(500));

  setProperty("snow" i, _y, random(400));

  setProperty("snow" i, _xscale, Math.random()*60 40);

  setProperty("snow" i, _yscale, eval("snow" i)._xscale);

  setProperty("snow" i, _alpha, eval("snow" i)._xscale random(30));

  i ;

  }

  复制200个雪花MC,并为其随机放到一个位置,而雪花的大小也是随机产生,而雪花的透明度由雪花的大小(X、Y轴的比例)来决定,大一点的雪花的透明就越高,小一点的雪花透明度就越底。这样的效果就是近的雪花看的清楚,而远的雪花有点模糊……更加逼真……

  

  


标签:

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

上一篇: FlashAS学习:从零开始学AS

下一篇: Flash和html的一些实用技巧