我有一个是雪碧的菜单,我正在添加一个按钮,以使菜单最小化。我使用的是一个SimpleButton(),我在菜单中添加了一个按钮,所以menu.addChild(button),我遇到的问题是,当我鼠标移动并单击该按钮时,所有的事件都不会触发。菜单精灵有它自己的鼠标对事件和按钮应该放在相对于菜单,所以它是有意义的子菜单。我怎么才能让这个按钮仍然工作呢?
提前感谢!
编辑
这是我的代码:
protected const rectangle:Sprite = new Sprite();
private const minimizeBtn:SimpleButton = new SimpleButton(new ButtonDisplayState(MINIMIZE_BTN_BG_COLOR, 15, 15), new ButtonDisplayState(0xFF0000, 15, 15), new ButtonDisplayState(0x00FF00, 15, 15), new ButtonDisplayState(0x0FF000, 15, 15));
rectangle.addEventListener(MouseEvent.MOUSE_OVER, rectMouseOver);
addChild(rectangle);
rectangle.addChild(minimizeBtn);发布于 2012-02-17 23:56:27
父精灵(菜单)可能正在吃鼠标事件。尝试在该对象上设置mouseChildren = true。
发布于 2012-03-11 07:21:29
首先,你为什么要把你的按钮定义为const?把它定义为一个非const变量,这是很愚蠢的,除非你有一个很好的理由。其次,将事件侦听器直接添加到minimizeBtn,而不是矩形容器(父对象)。
还请注意,尽管文档中说按钮的四种状态在构造函数中是可选的,但它们实际上根本不是可选的。该类非常具体地说明了构造函数参数,这些参数将导致类中断,并且在运行时不能正常工作(当然,没有编译或运行时错误,因为flash就是其中的佼佼者)。
因此,尽管您在这里提供了所有四个构造函数参数,但如果我以前的建议失败了,这可能是一个需要改进的地方。有关构造函数的更多NFO,请参见下面的链接。
http://selfdocumentingcode.blogspot.com/2009/04/flash-simplebutton-and-mouseover-and.html
https://stackoverflow.com/questions/9337020
复制相似问题