Flex Load一個(gè)SWF后主程序與子程序通訊問(wèn)題


          在主程序中用SWFLoader載入了一個(gè)SWF子程序,如何實(shí)現(xiàn)兩個(gè)程序間的參數(shù)傳遞與方法調(diào)用?
          共用一個(gè)單例對(duì)象進(jìn)行事件派發(fā),通過(guò)事件傳遞參數(shù)
          首先,你得有一個(gè)單例的事件派發(fā)器:
          1. package 
          2. {
          3.         import flash.events.EventDispatcher;
          4.         
          5.         public class Dispatcher extends EventDispatcher
          6.         {
          7.                 private static var instance:Dispatcher;
          8.                 
          9.                 public static function getInstance():Dispatcher 
          10.                 {
          11.                         if (instance == null)
          12.                         {
          13.                                 instance = new Dispatcher();
          14.                         }
          15.                         return instance;
          16.                 }
          17.         }
          18. }
          復(fù)制代碼
          然后,寫(xiě)自定義事件:
          1. package  
          2. {
          3.         import flash.events.Event;

          4.         public class MyEvent extends Event
          5.         {
          6.                 public static const TEST_EVENT:String = "test.event";
          7.                 
          8.                 public var data:*;
          9.                 
          10.                 public function MyEvent(eventType:String, data:* = null) 
          11.                 {
          12.                         super(eventType);
          13.                         this.data = data;
          14.                 }
          15.         }
          16. }
          復(fù)制代碼
          單例派發(fā)器通過(guò)getInstance()函數(shù)獲得:
          1. var dispatcher:Dispatcher = Dispatcher. getInstance();
          復(fù)制代碼
          子模塊通過(guò)dispatcher派發(fā)事件:
          1. dispatcher.dispatchEvent(new MyEvent(MyEvent.TEST_EVENT, "test"));
          復(fù)制代碼
          主模塊通過(guò)dispatcher監(jiān)聽(tīng)事件:
          1. dispatcher.addEventListener(MyEvent.TEST_EVENT, getEventHandler);

          2. function getEventHandler(e:MyEvent):void
          3. {
          4.         trace(e.data);
          5. }
          復(fù)制代碼
          同樣子模塊里面也可以這樣監(jiān)聽(tīng)來(lái)自主模塊的事件

          posted on 2010-11-19 10:28 aiaiwoo 閱讀(441) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): AC3/FLEX

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆分類(lèi)

          文章分類(lèi)

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 本溪市| 博客| 万荣县| 惠州市| 疏勒县| 井研县| 安新县| 都昌县| 民权县| 高州市| 岐山县| 德保县| 孟连| 桐梓县| 平利县| 罗城| 内丘县| 若羌县| 汉阴县| 庆阳市| 兴安县| 全南县| 沭阳县| 读书| 祁东县| 丰城市| 杂多县| 东平县| 巴彦淖尔市| 扶余县| 应用必备| 汶上县| 彭阳县| 长春市| 新蔡县| 平顶山市| 建水县| 图木舒克市| 泰宁县| 象州县| 陕西省|