如何利用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
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |