我無法理解EnterFrame事件傳播所需的路徑。我知道事件有3個階段:捕獲,目標和冒泡。AS3EnterFrame事件傳播理解問題
當我看到flash.events.Event類時,我發現該事件不是Bubble。
如果我在任何DisplayObject上添加Eventlistener,它會收到Enter幀事件。 如果我對useCapture = true做同樣的事情沒有收到事件。
但是不應該所有的事件都通過捕獲階段嗎? 如果我檢查事件目標,它將返回接收的DisplayObject作爲其目標。
傳播時EnterFrame事件的目標是否被更改,或者是創建並傳遞給每個DisplayObject的新事件?
Flash是否與所有DisplayObjects保持分隔的List?因爲DisplayObject未添加到顯示樹時甚至會收到EnterFrame事件?
這是有趣的。 ENTER_FRAME事件似乎與其他行爲不同。 1)如你所說,它沒有經過捕獲階段,2)如果我將輸入幀偵聽器添加到多個對象,似乎每個對象都會收到它自己的輸入幀事件(在調試器中,每個事件都有不同的內存地址, 3)似乎進入幀事件被重新使用(相同的存儲器地址一直顯示在調試器中)。正如你可以想象的那樣,這個事件經常發生,我們所看到的行爲可能是Flash Player的優化。 –
在這個[senocular.com上的頁面](http://www.senocular.com/flash/tutorials/orderofoperations/)的底部,他們討論了「廣播事件」(涉及多個對象的事件)。我從來沒有聽說過這個術語,關於Flash中的事件。我可以想象,廣播事件的行爲與我們習以爲常的捕捉 - >目標 - >泡沫範式不同(正如您的問題/我的評論中所述)。希望我仍然有我的[Collin Moock](http://shop.oreilly.com/product/9781565928527.do)書... –
@Sunil D.在你的鏈接中有一些非常好的信息。 –