所以我有一个名为manpb的按钮。当我点击manpb时,我想要一个菜单出现。菜单是一张图片,但如果有帮助,我可以将其转换为对象。 我能做的最好的事情是:用菜单制作第二帧,然后在man_pb函数中插入代码:
gotoAndStop(2);
我的问题是我希望菜单出现在同一帧上;然后菜单会有他自己的按钮。知道在下面的函数里面键入什么?
manpb.addEventListener(MouseEvent.CLICK, man_pb);
function man_pb(event:MouseEvent):void{
}
非常感谢你!
答案 0 :(得分:0)
将您的菜单用作对象,并将其添加到您想要的MovieClip中。
var menu:Menu = new Menu();//This is your Menu Symbol in your Library, you need to create one before you can use it
var manpb;//you could do the same thing for button, so you only need one symbol that has uses different labels
manpb.addEventListener(MouseEvent.CLICK, man_pb);
function man_pb(event:MouseEvent):void{
if(contains(menu)){//checking if "menu" already exists
removeChild(menu);//remove it from the displaylist
}else{
addChild(menu);//add it to the displaylist
}
}
在Listener函数中,检查当前的MovieClip(这不应该是Button)是否已经有一个子菜单。如果是,则删除菜单,否则,它将添加菜单。
不要忘记导出ActionScript菜单。
答案 1 :(得分:0)
最直观的解决方案可能是将菜单放在同一帧的MovieClip中。菜单按钮也可以放在菜单MovieClip中。
只需将菜单图片转换为MovieClip(右键单击,转换为MovieClip)。确保选择MovieClip,然后在“属性”面板中为其指定实例名称,如menuMC
或任何您想要的名称。
有几种方法可以让您只在单击按钮时才显示菜单。
1-默认情况下将MovieClip的不透明度设置为0,然后将其包含在按钮功能中:
menuMC.alpha = 1;
从而将MovieClip更改为完全不透明。
2-使MovieClip由两个帧组成,一个空帧具有stop();
动作,一个帧包含菜单图像和按钮。然后按钮代码为:
menuMC.gotoAndStop(2);
3-从库中动态加载MovieClip。 See this了解更多信息。 编辑:这是@DodgerThud所指的方法,也是更先进但更全面的方法。