看板 Flash 關於我們 聯絡資訊
我的程式大概如下 for(i=0;i<3;i++) { var square:Sprite = new Sprite(); square.addEventListener(MouseEvent.CLICK, function(e:MouseEvent) { doSomething(argArray[i]) }); } 我的問題卡在當square發生click事件時, 要執行doSomething(argArray[i])這一句的時候 裡面的argArray[i]的i,永遠是不正確的(i=3) 我想請問該怎麼要讓參數可以"固定",讓我的程式讀到我要的值呢? 之前我用moveClip時,我可以設定mc.lol = argArray[i];(搭e.currentTarget用) 可是我現在用square.lol = argArray[i]會產生錯誤訊息 T_T 請問在FLASH中我該怎麼做才能解決這個問題呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.27.159.200
akkusativ:我通常是在迴圈外new一個變數讓他在迴圈內累加XD 11/16 12:58
pm2001:argArray[i]是指標阿迴圈跑完i會等於3阿 11/16 12:59
pm2001:函式裡面 var temp:int=i; doSomething(argArray[temp]); 11/16 13:00
akkusativ:喔喔 原來如此^^ 11/16 13:02
cjcat2266:這個問題好像很常見呢,精華區 3>7>3>1 11/16 13:27
cjoe:cjcat2266兄,謝謝你,我用你的方法解決問題了!! 11/16 18:18
cjoe:也謝謝各位的回答,謝謝你們 >"< 11/16 18:19