在ActionScript 3,大多數事件使用捕捉/目標/泡模型,這是相當流行時下:AS3中的自定義廣播事件?
當事件發生時,其移動通過事件流的三個階段:捕獲階段,其從顯示列表層次結構的頂部流向恰好在目標節點之前的節點;目標階段,其包括目標節點;以及從目標節點之後的節點流出的冒泡階段備份顯示列表層次結構。
但是,某些事件(例如Sprite類的enterFrame
事件)不會捕獲OR泡泡 - 您必須直接訂閱目標以檢測事件。文件將這些稱爲「廣播事件」。我認爲這是出於性能方面的原因,因爲這些事件將不斷爲每個精靈階段觸發,並且你不想處理所有多餘的事件傳播。
我想發送我自己的廣播事件。我知道你可以防止冒泡事件(Event.bubbles = false
),但是你能否擺脫捕捉?
甜蜜,謝謝。 AS3文檔的某些部分確實......不清楚。 – Ender 2010-03-15 20:43:44
「氣泡」屬性隻影響冒泡階段,捕捉階段依然存在。嘗試捕捉「ADD_TO_STAGE」事件的所有階段,例如 – Yarg 2012-06-07 11:02:15