flash as for循环的问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 02:16:04
场景中有三个电影剪辑分别是mc1、mc2和mc3 想要达到的效果是鼠标滑过哪个影片剪辑,哪个影片剪辑的y轴坐标就不断的增加3.

aa = function () {
onEnterFrame = function () {
this["mc"+i]._y += 3;
trace(i);
};
};
for (i=1; i<3; i++) {
this["mc"+i].onRollOver = aa;
}
可是这段代码运行后只有mc3的y轴移动

你的for语句里的i之前没加var,这个i就不是局部变量了,i会一直加到3为止,所以你aa函数里i的值就是3
改成下面就可以了,我已经测试过了
//========================================================
for (var i = 1; i<=3; i++) {
trace(i);
this["mc"+i].onRollOver = function() {
this.onEnterFrame = function() {
this._y += 3;
};
};
}