论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: 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:54

  

如何利用as制作雪花效果?
解决思路(必须要有)

具体步骤
1,??运行flash?mx,在图层1的第1帧绘制一个渐变填充的背景。如图1所示。


图1????绘制背景
2,??在这一帧上添加如下代码:
function?createSnowflake(n)?{
?//?建立一个空的MC
?this.createEmptyMovieClip("snowflake"+n,?n);
?mc?=?this["snowflake"+n];
?//?把线型设置为极细线,白色,半透明
?mc.lineStyle(0,?0xFFFFFF,?50);
?//?设置一个随机变量numSpikes,用它来存储雪花的瓣数
?numSpikes?=?Math.round(Math.random()*5)+5;
?//?设置随机的雪花半径长度
?spikeRadius?=?Math.random()*5+5;
?//?开始画雪花了,使用lineTo命令
?for?(var?i?=?0;?i<numSpikes;?i++)?{
??mc.moveTo(0,?0);
??spikeAngle?=?2.0*Math.PI*i/numSpikes;
??x?=?spikeRadius*Math.cos(spikeAngle);
??y?=?spikeRadius*Math.sin(spikeAngle);
??mc.lineTo(x,?y);
?}
?//?返回MC
?return?(mc);
}
function?initSnowflakes(n)?{
?//?把参数n置入numSnowflakes
?numSnowflakes?=?n;
?//?建立n个MC
?for?(var?i?=?0;?i<numSnowflakes;?i++)?{
??mc?=?createSnowflake(i);
??//?设置MC的位置为随机
??mc._x?=?Math.random()*550;
??mc._y?=?Math.random()*400;
??//?设置随机的雪花下落速度
??mc.speed?=?Math.random()*3+3;
??//?随机的飘移速度
??mc.drift?=?Math.random()*2-1;
??//随机的旋转速度
??mc.rotate?=?Math.random()*18-9;
?}
}
function?moveSnowflakes()?{
?//?开始移动numSnowflakes个雪花
?for?(var?i?=?0;?i<numSnowflakes;?i++)?{
??//?下落+飘移+旋转
??mc?=?this["snowflake"+i];
??mc._y?+=?mc.speed;
??mc._x?+=?mc.drift;
??mc._rotation?+=?mc.rotate;
??//?假如落到最下面就从上部重来
??if?(mc._y>400)?{
???mc._y?=?0;
??}
??//?假如走出左右边界的话就从相反的一边出现
??if?(mc._x<0)?{
???mc._x?=?550;
??}
??if?(mc._x>550)?{
???mc._x?=?0;
??}
?}
}
//?开始初始化,50个雪花
initSnowflakes(50);
stop();
//每帧都执行函数moveSnowflakes
_root.onEnterFrame?=?function()?{
?_root.moveSnowflakes();
};
3,保存,测试一下效果把。参看源文件纯as制作雪花.fla

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