如何利用as制作雪花效果?
点击次数:29 次 发布日期:2008-11-21 23:37:10 作者:源代码网
|
源代码网推荐
如何利用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
源代码网供稿. |