Actionscript 3 将相同的动作和动画应用于不同的实例3

Actionscript 3 将相同的动作和动画应用于不同的实例3,actionscript-3,Actionscript 3,我正在尝试制作类似于led屏幕的东西,我希望鼠标滚动时每个点(led)都亮起,每个点都有相同的动画(改变颜色),并且应该使用相同的代码 我已将此代码应用于各种实例: dot1.stop(); dot1.addEventListener (MouseEvent.ROLL_OVER,dot1in); dot1.addEventListener (MouseEvent.ROLL_OUT,dot1out); function dot1in(e:MouseEvent) :void { dot1.pla

我正在尝试制作类似于led屏幕的东西,我希望鼠标滚动时每个点(led)都亮起,每个点都有相同的动画(改变颜色),并且应该使用相同的代码

我已将此代码应用于各种实例:

dot1.stop();
dot1.addEventListener (MouseEvent.ROLL_OVER,dot1in);
dot1.addEventListener (MouseEvent.ROLL_OUT,dot1out);


function dot1in(e:MouseEvent) :void {
dot1.play();
}

function pout(e:MouseEvent) :void {
dot1.stop();
}
第二个圆点的动作如下:

dot2.stop();
dot2.addEventListener (MouseEvent.ROLL_OVER,dot2in);
dot2.addEventListener (MouseEvent.ROLL_OUT,dot2out);


function dot2in(e:MouseEvent) :void {
dot2.play();
}

function dot2out(e:MouseEvent) :void {
dot2.stop();
}

这实际上是可行的,但我有大约300个点,我想知道是否有更有效的方法来做到这一点。此外,如果需要通过编码应用相同的动画,而不是编辑每个时间轴并复制帧。谢谢。

您将希望使用循环。这是一个很好的循环教程:。您也不需要为每个点应用不同的函数。dot1in和dot1out函数对于所有点都足够了。您将使用一个循环为每个点分配一个eventListener,它们都将只使用这两个函数。我对eventListener和其他所有函数使用了循环ok,唯一的问题是我不能只使用dot1in和dot1out函数,主要是因为当我只触摸其中一个点时,所有其他点都将开始闪烁。。。无论如何,谢谢。请稍微重写dotIn和dotOut函数,以便在event.currentTarget上调用.play()和.stop()方法,如:
e.currentTarget.play()这将使调用函数的点显示动画。对不起,我在这里是个白痴。首先将currentTarget分配给另一个变量,然后对该变量执行.play操作。例如:
var-tmpVar:MovieClip=e.currentTarget作为MovieClip
然后您可以在
tmpVar
上执行.play和.stop操作,使您的LED成为自定义类,并将功能放在其中。