首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Flash >

flash 一个事件中,关于自定义函数的运行顺序 的有关问题

2012-02-11 
flash 一个事件中,关于自定义函数的运行顺序的问题一段代码不知道是哪里出问题了,高手帮忙看一下。第一帧是

flash 一个事件中,关于自定义函数的运行顺序 的问题
一段代码不知道是哪里出问题了,高手帮忙看一下。

第一帧是 a=0;t=10; 第三帧是gotoAndPlay(2); 下面是第二帧的按钮的代码 
on (release) {
if (a == 0) {
abc = function () {
if (t>1) {
t--;
trace(t);
} else {
clearInterval(abc);
}
};
setInterval(abc, 20);
a = 1;
trace(666);
trace(a);
} else {
def = function () {
if (t<9) {
t++;
trace(t);
} else {
clearInterval(def);
}
};
setInterval(def, 20);
trace(77777);
a = 0;
}
}  
运行后,按按钮 能从 9 trace到1 ,但是再按一下,却不能从1 trace到9 ,按第二下,输出面板显示的是1,2,1,2一直循环个不停 不知道是哪里出问题了,高手帮忙看一下

[解决办法]
代码不缩进 看得累死人 
setInterval和clearInterval用法错误!
参考代码:

JScript code
on (release) {    if (a == 0) {        abc = function () {            if (t>1) {                t--;                trace(t);            } else {                clearInterval(m);                trace(m)            }        };        m = setInterval(abc, 20);        a = 1;        trace(666);        trace(a);    } else {        def = function () {            if (t<9) {                t++;                trace(t);            } else {                clearInterval(n);            }        };        n= setInterval(def,20);        trace(77777);        a = 0;    }}
[解决办法]
我汗 哪是规范 明明是你自己偷懒 
你还是没去看setInterval和clearInterval的用法
你的clearInterval 根本就没清除abc 它的参数是个数值 不是方法
自己看
JScript code
on (release) {    if (a == 0) {        abc = function () {            if (t>1) {                t--;                trace(t);            } else {                clearInterval(abc);                trace(t)            }        };     setInterval(abc, 20);        a = 1;        trace(666);        trace(a);    } else {        def = function () {            if (t<9) {                t++;                trace(t);            } else {                clearInterval(def);            }        };        setInterval(def,20);        trace(77777);        a = 0;    }}
[解决办法]
你的结贴率让人望而却步了,呵呵

热点排行