主题:  ★setInterval的重新计算问题

分分钟

职务:普通成员
等级:1
金币:0.0
发贴:95
#12003/7/25 11:26:02
请问:在下面的fla文件里,怎样写as才能实现:在场景30到34之间,通过按钮进行相互跳转时,程序中的setInterval都重新计算?如从31帧跳到32帧时,倒计时重新开始。

就是说不按“上一页”或“下一页”按钮的话就倒数三秒回到场景一的第一帧;如果按了按钮的话倒数就重新计时,能帮忙改一下源程序吗?我不是高编程的,as不太懂。

先谢谢了!



分分钟

职务:普通成员
等级:1
金币:0.0
发贴:95
#22003/7/25 11:26:50

相关文件:点这儿打开



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:585
#32003/7/26 19:51:17
在这里好象不应该用setInterval。你可以做个长度为3秒的空MC,在这个MC的最后一帧加上 _root.gotoAndPlay(1); 之类的语句。然后把这个MC放在你想要倒计时的帧上



分分钟

职务:普通成员
等级:1
金币:0.0
发贴:95
#42003/7/27 12:25:32
我是想用as实现这个效果,不用普通的方法,行吗?



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:585
#52003/7/27 13:16:44
行是行。有必要吗?
在主时间线上定义2个函数:
function delay (t) { //控制延时的函数
    var n=0;
    var tempID;
    tempID = setInterval(function () {if(n}
function delayTodo () { //在这里加入延时后要执行的功能
    _root.gotoAndPlay(1);
}
在需要的帧上加入:
stop();
delay(3);



分分钟

职务:普通成员
等级:1
金币:0.0
发贴:95
#62003/7/27 14:03:15
我按你第方法加进去了,但当出现“上一页”、“下一页”按钮时,在这两个按钮之间连续按,3秒后就自动回到场景一了,不知道是不是我加错了?

相关文件:点这儿打开

编辑历史:[这消息被分分钟编辑过(编辑时间2003-07-27 14:05:42)]


5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:585
#72003/7/27 23:11:40
又看了一下你的文件,这样改一下:
var tempID;
function delay (t) { //控制延时的函数
var n=0;
    clearInterval(tempID);
tempID = setInterval(function () {if(n}
function delayTodo () { //在这里加入延时后要执行的功能
_root.gotoAndPlay(1);
}



分分钟

职务:普通成员
等级:1
金币:0.0
发贴:95
#82003/7/28 8:43:28
太谢谢了,终于解决了。顺便问一下,在flash中Ctrl+Enter测试的时候,为什么输出对话框有:1、2、3出现呢?是不是用来测试所写的函数呢?



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:585
#92003/7/28 21:19:30
是调试程序用的。把AS中trace(n);一句去掉就行了