1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Flash AS制作下雪动画效果

Flash AS制作下雪动画效果

时间:2022-04-12 04:00:08

相关推荐

Flash AS制作下雪动画效果

使用纯Flash Actionscript实现的下雪动画效果。

效果演示:

点击这里下载源文件(解压密码:)

制作方法是把下面的代码直接放到新建立的Flash文档的第1帧里面:

function addMasker()

{

_root.createEmptyMovieClip("masker", -2);

with (masker)

{

lineStyle(1, 13421772, 100);

beginFill(0, 100);

moveTo(sideDisWidth, sideDisHeight);

lineTo(sideDisWidth + sceneWidth, sideDisHeight);

lineTo(sideDisWidth + sceneWidth, sideDisHeight + sceneHeight);

lineTo(sideDisWidth, sideDisHeight + sceneHeight);

endFill();

} // End of with

createSnow();

} // End of the function

function createSnow()

{

var _l1 = 0;

while (_l1 < snowNum)

{

var _l2 = snowSpace.createEmptyMovieClip("s" + _l1, _l1);

var _l3 = Math.random() * 3;

drawSnow(_l2, _l3);

_l1++;

} // end while

} // End of the function

function drawSnow(snow, radius)

{

var p = radius * 0.900000;

with (snow)

{

colors = [13421772, 16777215];

alphas = [100, 100];

ratios = [0, 255];

matrix = {matrixType: "box", x: -Math.random() * 2 * radius, y: -Math.random() * 2 * radius, w: 2 * radius, h: 2 * radius, r: 1.570796};

beginGradientFill("radial", colors, alphas, ratios, matrix);

curveTo(p, -p, radius, 0);

curveTo(p, p, 0, radius);

curveTo(-p, p, -radius, 0);

curveTo(-p, -p, 0, -radius);

endFill();

} // End of with

snowProperty(snow, sceneWidth, sceneHeight);

} // End of the function

function snowProperty(snow, w, h)

{

snow._x = sideDisWidth + Math.random() * w;

snow._y = sideDisHeight + Math.random() * h;

snow._rotation = Math.random() * 120 + 30;

snow.stepX = Math.cos(snow._rotation * 3.141593 / 180);

snow.stepY = Math.random() * 2 + 1;

setInterval(snowFall, 30, snow);

} // End of the function

function snowFall(snow)

{

snow._x = snow._x + snow.stepX;

snow._y = snow._y + snow.stepY;

if (sideDisWidth > snow._x)

{

snow._x = sideDisWidth + sceneWidth;

} // end if

if (sideDisWidth + sceneWidth < snow._x)

{

snow._x = sideDisWidth;

} // end if

if (sideDisHeight + sceneHeight < snow._y)

{

snow._y = sideDisHeight;

} // end if

} // End of the function

var sceneWidth = 550;

var sceneHeight = 400;

var sideDisWidth = Stage.width / 2 - sceneWidth / 2;

var sideDisHeight = Stage.height / 2 - sceneHeight / 2;

var snowNum = 150;

var snowSpace = _root.createEmptyMovieClip("room", 1);

addMasker();

说明:

beginFill(0, 100); 将100改为0,即是透明背景;

var sceneWidth = 550;可修改宽度;

var sceneHeight = 400;可修改高度;

var snowNum = 150;可修改雪花数量.

_Flash

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。