我有几个按钮,它们有相应的动画片段。每个动画片段都有两个不同的动画(第一帧从第1帧开始,第二帧在第20帧)。
我希望动画在MOUSE.OVER
现在我想知道如何使用一个函数执行此操作。按钮总是被命名为例如thing
和movieclips thing_mc
。
我在想这样的事情:
var thing_bo:Boolean = false;
function over(e:MouseEvent)
{
var mcName = e.currentTarget.name + "_mc";
var yourContainer:DisplayObjectContainer = e.currentTarget.parent as DisplayObjectContainer;
var mc = yourContainer.getChildByName( mcName );
var boName = e.currentTarget.name + "_bo";
if (!this['boName']) {
mc.gotoAndPlay(1);
this['boName'] = true;
} else {
mc.gotoAndPlay(20);
this['boName'] = false;
}
}
如何让这个工作?有更简单的方法吗?
编辑:我认为问题只是访问布尔值。thing_bo
上的更改未发生。
答案 0 :(得分:1)
就像@VasilGerginski所说,最好创建一个Class
来实现它,但如果你想在一个框架中这样做,你就有了一个可能的代码(你可以在{{1}中存储一个变量} object):
此示例假定您的所有实例都在同一范围内。
MovieClip
答案 1 :(得分:0)
为什么不为每对按钮/动画创建一个类,例如MenuItem,它将保存对按钮的引用,它触发的动画以及boolean标志属性。这样可以节省每次查询每个元素的时间。 :) OOP我的朋友