2011-09-05 63 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