本文介绍了在fo​​r循环AS3个别事件监听器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我找不到更好的称谓来形容我的问题。

I couldn't find a better title to describe my problem.

我要做到这一点:

for(var i:int = 0; i < 10; i++) {
     var mc:MovieClip = new MovieClip();
     mc.addEventLister(MouseEvent.MOUSE_OVER, function() {
        mc.y=-20;
     });
}

我的问题是三菱商事总是referrs到最后MC在for循环创建,这样创建的第一个MC使最后一个将鼠标悬停。也许我可以使用类似这个或自我......

My problem is that mc always referrs to the last mc created in the for loop so the first mc created causes the last one to move on mouseover. Maybe I could use something like "this" or "self"...

有什么建议?

推荐答案

您想要做这样的事情:

for(var i:int = 0; i < 10; i++) {
     var mc:MovieClip = new MovieClip();
     mc.addEventLister(MouseEvent.MOUSE_OVER, function(evt:Event) {
        evt.currentTarget.y=-20;
     });
}

请注意,这不是使用 MC 我使用了 currentTarget当前事件中,这是我们添加的事件监听器。

Note, that instead of using mc I'm using the currentTarget of the event, which is what we added the event-listener to.

这篇关于在fo​​r循环AS3个别事件监听器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-24 00:09