作者etrexetrex (moonet)
看板Flash
标题Re: [问题] 用for做function
时间Mon Dec 12 09:54:27 2011
※ 引述《hirabbitt (兔子)》之铭言:
: for(i=0;i<5;i++){
: questImage=new canGet();
: questImage.addEventListener(MouseEvent.CLICK,function(e:MouseEvent):void{
: var tempi:int=i;
: trace(i+" "+tempi); //实际在按的时候i和tempi印出来都是1 但我想要0~4
: });
: }
: 我有想过把i传值传进去
: 但是不知道MouseEvent.CLICK的function是否可以直接function(e:MouseEvent,temp:int)
: 感谢
用 closure
步骤1 : 在场景上放五个任意的元件
步骤2 : 在影格内写入下面的程式
function closure(i:int):Function{
return function(e:MouseEvent):void{
trace(i);
};
}
for(var i:int = 0 ; i < this.numChildren ; i++)
this.getChildAt(i).addEventListener(MouseEvent.CLICK, closure(i));
步骤3 : CTRL + ENTER 执行看结果
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.137.198.18
※ 编辑: etrexetrex 来自: 140.137.198.18 (12/12 09:56)