2011-09-05 66 views
0

我有一个隐藏的DisplayObject(myObj.visible = false;)。我提供了一个倾听者:Actionscript 3.0点击隐藏对象

myObj.addEventListener(MouseEvent.CLICK, myHandler); 

myHandler永远不会触发。看起来MouseEvent.CLICK没有交付给隐藏的对象... 如何为我的隐藏对象收听MouseEvent.CLICK

回答

7

试着把它与alpha = 0。

var myDisplayObject = DisplayObject(myObj); 
myDisplayObject.alpha = 0 
myDisplayObject.addEventListener(MouseEvent.CLICK, handler); 
+1

是的,它的工作原理。谢谢。我只是想知道:它不会将alpha = 0设置为黑客?在这样的解剖中它是“正式推荐”的方式吗? – Nick

+0

事实上,它并不是一个Hack,因为actionscript是完全面向资产元素的,但是对于alpha 0,AVM认识到这些资产是完全可访问的,他的属性没有被禁用,并且在大量资产(包含alpha 0 )渲染CPU将受到影响,在这种情况下,必须将其切换到渲染GPU。 – papachan