我无法使用 onRollOver 使这个 For 循环工作。
for (var i:Number = 1; i<=4; i++) {
this['videobutton'+i].onRollOver = function() {
trace(i);
this['stream'+i].pause(false);
this['video'+i].attachVideo(this['stream'+i]);
fadeIn(this['video'+i]);
};
}
它认为它与变量范围和 i 有关,但我不知道如何修复它。
痕迹给了我:5
有任何想法吗?
这是源文件: http ://drop.io/gqdcyp3
更新
我自己解决了,但我认为这不是最佳解决方案:
var videos:Array = new Array(
'ltp_video-low1.flv',
'ltp_video-low1.flv',
'ltp_video-low1.flv',
'ltp_video-low1.flv'
);
function videoOver(buttonMC,video,stream) {
buttonMC.onRollOver = function() {
stream.pause(false);
video.attachVideo(stream);
fadeIn(video);
};
}
function videoOut(buttonMC,video,stream) {
buttonMC.onRollOut = function() {
fadeOut(video);
stream.pause();
};
}
for (var i:Number=1; i<=4; i++) {
this['connection'+i] = new NetConnection();
this['connection'+i].connect(null);
this['stream'+i] = new NetStream(this['connection'+i]);
this['stream'+i].play(videos[i-1]);
videoOver(this['videobutton'+i],this['video'+i],this['stream'+i]);
videoOut(this['videobutton'+i],this['video'+i],this['stream'+i]);
}
无论如何,这行得通。但是,如果有人可以给我一个由此创建的解决方案,那就太好了,因为它有效。我怎样才能在循环中拥有这些功能?