flash下雨动画为什么在每个场景都能看见

来源:百度知道 编辑:UC知道 时间:2024/06/27 18:16:20
我用这个方法做了一个FLASH下雨的场景:

首先,将FLASH的文档背景颜色改为黑色(#000000)以便区分,然后,新建一个影片剪辑,在里面做下雨的效果(只能做一个,因为等下还要用代码复制出几个大小不同的组件)回到场景1,打开库面板,右键单击该组件,选择“连接”选项,在第一个的导出为教本构上,然后在标识符上输入drop,新建一层,在帧上输入下面的教本:

function rain() {
var i = Math.floor(100*Math.random());
_root.attachMovie("drop", ("drop"+i), i);
var a = Math.floor((30*Math.random()+71));
var b = Math.floor((60*math.random()+41));
with (_root[("drop"+i)]) {
_x = 550*Math.random();
_y = -200*Math.random();
_xscale = a;
_yscale = a;
_alpha = b;
}
updateAfterEvent();
}
setInterval(rain, 20);

做出来效果很好,
但是为什么在以后的每个场景里都可以看见它?
我怎么样才能让雨停下来呢?
最好是谁能自己先做一下,再告诉我。
因为不管后来怎么设关键桢,不管是把剪辑删掉还是变成透明,都没用。
或者重新告诉我一个可以控制的制作下雨场景的方法。

你看最后面有一句setInterval(rain, 20);它的意思是每过0.02秒就调用一次rain这个函数,你要让雨停下来,就不能让它一直调用,所以在你不想调用它的地方写一个clearIntervar()函数把它删除.但是最后一句要改成cle=setInterval(rain, 20);然后在不想让它再下雨的帧上写clearIntervar(cle),这样就可以了,我帮你试过OK的

其实这个很简单的,
每一个层都有它的生命周期,所以说在这个层上的剪辑的生命期也是随着这个层的.
你可以在这个层的未尾加个关键帧,然后把剪辑删除,或是设成透明.

专业问题吧,这个你待上论坛上提问比较好