求Flash里停止下雨的方法,如何用代码解决
发布网友
发布时间:2022-04-26 20:25
我来回答
共3个回答
热心网友
时间:2023-10-29 08:03
这个你在场景适当位置放一个空mc,然后在空mc里绑定下雨的mc链接。到70帧时候,删掉这个空mc就行了。
比如,这个空mc的实例名是y_mc,你的50帧上代码改为:
var myInterval:Number;
function rain1() {
var i = Math.floor(100*Math.random());
_root.y_mc.attachMovie("mc", ("mc"+i), i);
var a:Number = Math.floor((30*Math.random()+71));
var b:Number = Math.floor((60*math.random()+41));
if (y_mc[("mc"+i)]) {
with (y_mc[("mc"+i)]) {
_x = 300*Math.random();
_y = 120+100*Math.random();
_xscale = a;
_yscale = a;
_alpha = b;
}
}
updateAfterEvent();
}
myInterval = setInterval(rain1, 50);
第70帧上为:
clearInterval(myInterval);
delete y_mc;追问我试过了,没有效果,应该是无法绑定下雨的元件mc,直接就没有雨了,我加入了空元件y_mc和下雨元件mc都无效,直接无法下雨了
追答在要停止下雨的那一帧,将y_mc换成空白关键帧,第70帧上代码不用写了。
热心网友
时间:2023-10-29 08:04
如此修改:
function rain1()
{
//当在50帧至70帧之间下小雨
if(_currentframe>=50&&_currentframe<=70)
{
/*下小雨代码*/
}
else if(_currentframe>70)
{
/*下金元宝的代码 ^-^ */
}
}追问这个方法可以让雨停,但并不是70帧的时候停(感觉是要再过70帧才行,而且停的时候是大部分雨滴没了,但是会有一两滴再过25帧左右才会消失,如果把50到70改成0到20的话就直接无效了),而且数值直接影响了下雨的数量,数值越小,雨越小,数值越大,雨越大
追答你是要下雨下的时间为70帧?
邮件交流吧。。
luxuan28@163.com
热心网友
时间:2023-10-29 08:04
建议你最后以行代码这样写:
var nTimerInterval = setInterval(rain,20);
然后,只要在你需要的地方,比如某一帧或者按钮时间函数中添加下面的代码:
clearInterval(nTimerInterval);
这样子就可以了。