嗨,大家好我今天很難過。與父母交流SWF
我有一個遊戲,我已經加載到父SWF -
我想我的父母SWF接受我調度事件從遊戲中, 或有交談左右逢源的能力。
- 原因是,一旦結束屏幕處於活動狀態,我想卸載並重新加載遊戲。
任何幫助,我會給你啤酒。
在此先感謝。
嗨,大家好我今天很難過。與父母交流SWF
我有一個遊戲,我已經加載到父SWF -
我想我的父母SWF接受我調度事件從遊戲中, 或有交談左右逢源的能力。
- 原因是,一旦結束屏幕處於活動狀態,我想卸載並重新加載遊戲。
任何幫助,我會給你啤酒。
在此先感謝。
是由你的遊戲調度的事件讓冒泡到您的裝載機瑞士法郎? Event構造函數的默認值將其設置爲false。但是,如果要將其設置爲true,由swf調用的事件會將其發送給其父節點的偵聽器。
例如:this.dispatchEvent(new Event("SOME_GAME_EVENT", true, true));
第一「真」值表示,該事件應該氣泡向上通過對象的層次結構。第二個說事件是可以取消的。一旦你的加載器swf處理了事件,最好在事件中調用.stopPropagation(),這樣不會進一步冒泡。
不能你把你的parentSWF:
childSWF.addEventListener(MyCustomEvent.SOME_EVENT,監聽器),只是從遊戲調度的事件?
至於談話的另一種方式,它可以調用childSWF.someFunction()調用函數的文檔類childSWF的等
真的那麼簡單嗎?當我從孩子那裏派發事件時,我發現我不能接受他們在父母身上。我會在哪裏從兒童內部派發活動?它是文檔類嗎?並且聽父母中的同一個孩子,我必須傾聽對象本身 - 不是像「childSWF.content」這樣的屬性? – Glycerine 2010-04-13 17:06:27
我假設你已經有'childSWF = loader.content作爲MovieClip'了。 無論你從哪裏發送活動,它都應該可以工作,只要它沒有被取消並且它會起泡。 我曾經在某處讀過swfs可能必須在同一個應用程序域或其他地方。希望情況並非如此,因爲這會變得更加複雜。 – jonathanasdf 2010-04-13 18:41:35
其實,看起來你可能想看看Loader.sharedEvents: http://richardleggett.co.uk/blog/index.php/2009/04/02/loading-swfs-into-air-1-5-and -loaderinfo – jonathanasdf 2010-04-13 19:29:47
謝謝 - 它的工作。我現在可以捕獲由遊戲派發的parentSWF級別的事件。 這種方法的好處是沒有SWF耦合 - 因此GC後來childSWF運行良好。 再次感謝TurkeyBurger – Glycerine 2010-04-15 14:21:24