Flex Load一個SWF后主程序與子程序通訊問題


          在主程序中用SWFLoader載入了一個SWF子程序,如何實現(xiàn)兩個程序間的參數(shù)傳遞與方法調(diào)用?
          共用一個單例對象進行事件派發(fā),通過事件傳遞參數(shù)
          首先,你得有一個單例的事件派發(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ù)制代碼
          然后,寫自定義事件:
          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ā)器通過getInstance()函數(shù)獲得:
          1. var dispatcher:Dispatcher = Dispatcher. getInstance();
          復(fù)制代碼
          子模塊通過dispatcher派發(fā)事件:
          1. dispatcher.dispatchEvent(new MyEvent(MyEvent.TEST_EVENT, "test"));
          復(fù)制代碼
          主模塊通過dispatcher監(jiān)聽事件:
          1. dispatcher.addEventListener(MyEvent.TEST_EVENT, getEventHandler);

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

          posted on 2010-11-19 10:28 aiaiwoo 閱讀(442) 評論(0)  編輯  收藏 所屬分類: AC3/FLEX

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

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿

          隨筆分類

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 武乡县| 枣阳市| 泸州市| 濉溪县| 东至县| 丰城市| 贡觉县| 卫辉市| 霍城县| 石嘴山市| 樟树市| 华阴市| 历史| 东宁县| 乌海市| 孝昌县| 涟源市| 甘肃省| 宜宾市| 耿马| 嵩明县| 贺兰县| 蓝田县| 那曲县| 宁阳县| 滕州市| 扎鲁特旗| 东乌珠穆沁旗| 平舆县| 吐鲁番市| 文安县| 湖州市| 吕梁市| 团风县| 赣榆县| 利津县| 全州县| 华坪县| 尚义县| 敦化市| 嘉黎县|