[問題] timer相關問題

看板Flash作者 (好心情,事才會做好)時間10年前 (2014/06/05 13:02), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
內文在下面: 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呼叫的函數,是不是無法像一般函數給他一個引數? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.40.156 ※ 文章網址: http://www.ptt.cc/bbs/Flash/M.1401944560.A.318.html

06/05 13:04, , 1F
嗯…如果是for,剛出來的i應該是變4不是3,不過這不重要xD
06/05 13:04, 1F

06/05 13:44, , 2F
關鍵字 delegate
06/05 13:44, 2F

06/07 03:57, , 3F
前面沒看 針對最後一行回答 是可以的 http://goo.gl/Te1OGl
06/07 03:57, 3F

06/09 16:21, , 4F
感謝兩位大大回覆
06/09 16:21, 4F
文章代碼(AID): #1JZ_dmCO (Flash)
文章代碼(AID): #1JZ_dmCO (Flash)