FLASH的as问题:用按钮控制MC载入图片

来源:百度知道 编辑:UC知道 时间:2024/06/30 02:56:52
b1 b2 b3 都是动态创建的影片剪辑来模拟的按钮,我想点击这些按钮分别在mc中载入1.jpg 2.jpg 3.jpg
但我点按钮时,它却弹出提示找不到4.jpg
为什么啊??
for (i=1; i<=3; i++){
eval("b"+i).onRelease = function(){
_root.mc.loadMovie(i+".jpg");
}
}

因为onRelease在循环里并没有被执行,所以函数内部的i,也没有被赋值
当循环执行完毕后,i=4
所以此时点击按钮,相当于调用了循环内的全局变量i,所以一直是4.jpg。
代码做出如下修改:
(这是比较好理解的一种方法)

for (var i = 1; i<=3; i++) {
eval("b"+i).id = i;
eval("b"+i).onRelease = function() {
_root.mc.loadMovie(this.id+".jpg");
};
}

默认的是i=0,你把(i=1; i<=3; i++)改成(i=0; i<=2; i++)应该就可以了
不要破坏潜规则

"应该不会呀 是不是其它地方错了