作者cjoe (TeA)
看板Flash
标题[问题] addEventListener、回圈、变数的问题
时间Mon Nov 16 12:33:55 2009
我的程式大概如下
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
1F:推 akkusativ:我通常是在回圈外new一个变数让他在回圈内累加XD 11/16 12:58
2F:推 pm2001:argArray[i]是指标阿回圈跑完i会等於3阿 11/16 12:59
3F:→ pm2001:函式里面 var temp:int=i; doSomething(argArray[temp]); 11/16 13:00
4F:推 akkusativ:喔喔 原来如此^^ 11/16 13:02
5F:推 cjcat2266:这个问题好像很常见呢, 3>7>3>1 11/16 13:27
6F:→ cjoe:cjcat2266兄,谢谢你,我用你的方法解决问题了!! 11/16 18:18
7F:→ cjoe:也谢谢各位的回答,谢谢你们 >"< 11/16 18:19