一段代码不知道是哪里出问题了,高手帮忙看一下。
第一帧是 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; } }
------解决方案--------------------
你的结贴率让人望而却步了,呵呵