flash中用一段简单的代码就能实现真实的下雪场景

时间:2012-01-16 01:10:01  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:="324">
  正文:

先看一下flash效果 

上面的flash下雪场景就是利用一张图片和一段简单的代码打造的,代码真的很实用哦,flash中用一段简单的代码就能实现真实的下雪场景,不用任何素材或视频元件,只用一帧,设背景为黑色吧,或导入一张你喜欢的图片做背景,复制下面的代码到场景的第一帧就一切ok了。试试效果吧。

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;
}
}
呵呵,测试一下。flash中用一段简单的代码就能实现真实的下雪场景,很实用哦。
"flash中用一段简单的代码就能实现真实的下雪场景"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Design/FLASH/19300.html

感谢q930的投稿


关于《flash中用一段简单的代码就能实现真实的下雪场景》文章的评论

站内搜索: 高级搜索

热门搜索:关键字 键盘  Windows PHP CPU style 系统 Google td tr IP function