[问题] timer相关问题

楼主: para123 (好心情,事才会做好)   2014-06-05 13:02:37
内文在下面:
for( i=1; i<=3; i++)
{
MyTimer[i] = setInterval( f_MyTimer, 1000);
}
function f_MyTimer()
{
var a : int = i;
trace(a);
}
我想产生的结果是:我制造三个timer,分别持续执行 trace 1、2、3,
但如果按照上面的写法,结果会全部都 trace 3,
因为三个timer其实都是在1000豪秒后才开始执行第一次,
所以并不是呼叫的当下,就会把 a=1、a=2、a=3 储存进去,
而是1秒后,三个timer才会执行 a=i ,那就是三个timer的a都等于3的意思。
请问有什么方法可以解决,或是达到我的目的吗?
setInterval呼叫的函数,是不是无法像一般函数给他一个引数?
楼主: para123 (好心情,事才会做好)   2014-06-05 13:04:00
嗯…如果是for,刚出来的i应该是变4不是3,不过这不重要xD
作者: cjcat2266 (CJ Cat)   2014-06-05 13:44:00
关键字 delegate
作者: scars (scars)   2014-06-07 03:57:00
前面没看 针对最后一行回答 是可以的 http://goo.gl/Te1OGl
楼主: para123 (好心情,事才会做好)   2014-06-09 16:21:00
感谢两位大大回复

Links booklink

Contact Us: admin [ a t ] ucptt.com