對於從Document類以外的類派發,我有一個相當不錯的句柄,但是當我想從Document類派遣事件並讓其他類偵聽文檔類廣播時會發生什麼?AS3:如何從文檔類派發?
似乎有幾種方法可以解決這個問題(即,使用單曲,使用合成,使用MovieClip(root))我只是想知道人們發現什麼是「最佳實踐」方式?
對於從Document類以外的類派發,我有一個相當不錯的句柄,但是當我想從Document類派遣事件並讓其他類偵聽文檔類廣播時會發生什麼?AS3:如何從文檔類派發?
似乎有幾種方法可以解決這個問題(即,使用單曲,使用合成,使用MovieClip(root))我只是想知道人們發現什麼是「最佳實踐」方式?
簡單:不要這樣做。
爲什麼不能告訴物體該做什麼?文檔類位於層次結構的頂部,它應該能夠直接操作對象。降低層次結構中的對象應該派遣,但不能降低。
我會做這樣的:
在文檔類:
public function attachEventListener(event:String, callback:Function) { addEventListener(e, callback, false, 0, true); }
如果你不希望其他類能夠訪問文檔類,我只想把 addEventListener(Event.MY_EVENT, someClass.eventListenerFunction, false, 0, true);
在文檔類。
但顯然還有其他方法可以做到這一點。取決於你的偏好。
您應該將文檔類作爲參數傳遞給其他類構造函數。