本类搜索:

教你用一句代码简单实现雪景动画,不用任何元件

2008-5-15 13:11:30 作者: lgf 来源: 金龙网站设计工作室

不用任何元件,只用一帧,在flash8中就可以做出雪景画面。设背景为黑色,或导入一张你喜欢的图片做背景,复制下面的代码到场景的第一帧就行了。
fallSnow(this,150, [600, 375]);
function fallSnow(path, num, size) {
for (var i = 0; i<num; i++) {
path.createEmptyMovieClip("xue"+i, i);
var mc = path["xue"+i];
mc._x = random(size[0]);
mc._y = random(size[1]);
mc.ro = [1, -1][random(2)];
mc.xtime = random(20);
mc.startTime = 0;
mc.id = Math.pow(i, 1/2);
createSnow(mc, mc.id/2.5, "0xffffff", 20*mc.id);
}
var loop = function () {
updateAfterEvent();
for (var i = 0; i<num; i++) {
var mc = path["xue"+i];
mc._rotation += mc.ro*5;
mc._x += mc.id*mc.ro/10;
mc._y += mc.id/2;
mc.startTime++;
scanTar(mc);
scanEdge(mc, size);
}
};
var interval = setInterval(loop, 10);
}
function createSnow(mc, radius, c, alpha) {
with (mc) {
moveTo(0, -radius);
beginFill(c, alpha);
linestyle(0, "0x000000", 0);
for (var i = 1; i<=6; i++) {
var a1 = -Math.PI/6+i*Math.PI/3;
var a2 = i*Math.PI/3;
lineTo((radius/5)*Math.sin(a1), -(radius/5)*Math.cos(a1));
lineTo(radius*Math.sin(a2), -radius*Math.cos(a2));
}
endFill();
}
}
function scanTar(mc) {
if (mc.startTime>=mc.xtime) {
mc.startTime = 0;
mc.xtime = random(20);
mc.ro = [1, -1][random(2)];
}
}
function scanEdge(mc, size) {
if (mc._x>size[0]) {
mc._x = 0;
} else if (mc._x<0) {
mc._x = size[0];
}
if (mc._y>size[1]) {
mc._y = 0;
}
}
[在线编辑:lgf][打印本页][收藏本页][关闭本页]
免责声明:本站刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。对本文有异议,请联络本站!
转载要求:文章作者及来源信息必需保留。转载之图片、文件,链接请不要盗链到本站地址,且不准打上各自站点的水印。
本类最新
关于我们  |  广告服务  |  版权声明  |  支付方式  |  联系我们  |  建站流程  |  网站导航  |  加入收藏
网站合作、内容监督、商务咨询、投诉建议:13459049164

本站关键词:厦门网站建设,厦门网站设计,赣州网站建设,赣州网站设计,厦门网站建设工作室,厦门网站设计工作室
Copyright©2008-2009厦门金龙网站设计工作室(网站建设)版权所有
赣ICP备08000130号
赣ICP备08000130号