请问下FLASH AS达人。。

来源:百度知道 编辑:UC知道 时间:2024/05/29 20:18:54
var imgInfo:Array=new Array();

for (var i:int=0; i<xmlLength; i++) {
this["img" + i].addEventListener(MouseEvent.CLICK,OnRelease);
function OnRelease(e:Event) {
//!!***!trace(imgInfo[i])这里要怎么写才能trace正确的数组内容? 为什么"i"**!!在这里没用了?
}
}
我的是一排按钮。。。如果不写在for循环里我真不知道怎么办。。我是从2.0刚转过来。。好吃力。。
写单个的AS文件那个Sprite和MovieClip的层关系我搞了半天整不明白。。。呵呵。。你那方法可以用。。谢谢~~

你的监听函数为什么要放进循环里啊?就为了用i吗?
你程序的意思是想用户点击了哪个按钮,然后输出数组中对应位置的值,你可以试试在监听函数中这么写:
private function OnRelease(evt:MouseEvent):void{
var names:String=evt.target.name;
var i:Number=new Number(names.substr(1,1));
trace(imgInfo[i]);
}
这样就取到按钮名字的最后一个代号,然后再输出不就行了,也不用写循环里啊,你这样写程序比较乱,思路不明确,封装更不好,估计是写在时间轴上的代码!
小菜鸟提的意见!