论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

如何利用as控制飘动的雪花?

文章类别:Flash | 发表日期:2008-9-21 15:03:28

  

如何利用as控制飘动的雪花?
解决思路
主要的构思就是通过对一个雪花影片剪辑的复制出许多雪花,当然这是有限度的。不然cpu会受不了的。然后通过设置复制出来的雪花的位置坐标,达到下雪的效果。
具体步骤
1、??运行Flash?MX?2004,设置文档属性为500*400。在图层1绘制一个渐变填充的背景。如图3.3.84所示。


图3.3.84????绘制背景
2、??新建一个影片剪辑,命名为“雪花”。在编辑区内画一个简单的雪花外形。大小约为11*11像素。如图3.3.85所示。


图3.3.85??绘制雪花
3、??返回到场景1,把影片剪辑“雪花”拖放到场景中,在属性面板中命名影片的实例名为“snow”。
4、??选中影片剪辑,打开as面板,添加如下语句:
onClipEvent?(enterFrame)?{  
?this._x?+=?Math.random()*(this._xscale)/10;
?this._y?+=?Math.random()*(this._yscale)/10;?
?if?(this._x>500)?{
??this._x?=?0;
?}  
?if?(this._y>400)?{
??this._y?=?0;
?}  
}
5、?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;
?}  //当雪花飘出主场景时,重新回到主场景的上方。
}

6、?新建一个图层,在第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轴的比例)来决定,大一点的雪花的透明就越高,小一点的雪花透明度就越底。这样的效果就是近的雪花看的清楚,而远的雪花有点模糊……更加逼真……
6,保存,测试。请参看源文件“雪花”。

视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058