在多个MovieClip实例上应用EventListner

时间:2017-06-19 10:25:59

标签: actionscript-3

我在舞台上有10个movielclips,名称为“mc1,mc2,mc3 ....”。我想在所有上应用一个eventlistner,我试图使用变量调用,但是当我可以直接使用实例名称时它不起作用。

任何人都可以帮助我如何在多个movieclcip实例上应用一个函数

//var mc ="mc1";
var mc = this["mc" + 1];

mc.addEventListener(MouseEvent.CLICK, testFunction);

function testFunction(e:MouseEvent):void
{
    trace("Seconds elapsed: "+ e.target.name);
}

1 个答案:

答案 0 :(得分:1)

如果您的影片剪辑名为mc1mc2等,您可以像这样循环播放:

for(var i = 1; i <= 10; i++) {
   this["mc" + i].addEventListener(MouseEvent.CLICK, testFunction);
}

请记住,如果名称发生变化,以这样的名称访问Movieclip会导致运行时出现问题。它在编译时也不会给你任何错误,因为这都是在运行时检查和执行的。因此,调试这可能会很痛苦。