基本上问题可能会更准确地问,如何简单地禁用一个按钮,然后重新启用它?我试着将buttonMode设置为false,将mouseChildren设置为false并将其设置为false。什么都没有我意识到我可能只是删除事件监听器,但肯定有一个更优雅和有效的方式。由于删除事件监听器会迫使我跟踪与某些按钮状态有关的功能,并且必须一遍又一遍地添加和删除它们,这看起来很笨重。如何禁用并重新启用MouseEvents; buttonMode,mouseChildren并启用不起作用
有没有办法设置一个标志,使临时禁用任何事件对象可能有的事件监听器,然后再简单地打开它们?我有一种误解,认为将RollOver事件等添加到MovieClip中会将其理论上转换为一个按钮,在该按钮中可以使用enabled属性轻松关闭该按钮。另外,我不能使用SimpleButton,因为我需要比它提供的更多的灵活性。
我创建了一个处理所有这些功能并使生活更简单的自定义类,但是我想知道是否有作为开箱即用的官方方式。
下面是一个孤立的例子,在舞台上使用的电影剪辑与IPOO,实例名称,其中的事件总是无论何时你点击按钮得到什么设置的火:
iPoo.addEventListener(的MouseEvent。 ROLL_OVER,pooRollOver);
iPoo.addEventListener(MouseEvent.ROLL_OUT,pooRollOut);
iPoo.addEventListener(MouseEvent.CLICK,pooClick);
功能pooRollOver(_event:MouseEvent)方法:无效
{
iPoo.alpha = 0.5;
}
功能pooRollOut(_event:MouseEvent)方法:无效
{
iPoo.alpha = 1;
}
功能pooClick(_event:MouseEvent)方法:无效
{
trace("Poo");
iPoo.enabled = false;
iPoo.buttonMode = false;
iPoo.mouseChildren = false;
}
谢谢,真的很感谢帮助。完美的作品。男人,我不知道我是如何错过的,特别是考虑到FlashDevelop具有智能感知! – 2009-09-16 09:05:30
如果您有对象X,该怎么办? Y是X的孩子,Z也是X的孩子。你想检测Y不是Z. – 2012-09-06 13:12:25