Flash加載swf后互相調用函數、變量

          Flash加載swf后互相調用函數、變量

          假定加載其它swf文件的swf為父swf,被加載的swf為子swf。

          情況1:父swf調用子swf中的函數、變量。

          使用Loader.contentLoaderInfo的監聽器。具體方法:

          1、轉為EventDispatcher并添加監聽器,監聽完成事件。

          EventDispatcher(Loader.contentLoaderInfo).addEventListener(Event.Complete,loaded);

          2、設計完成事件處理方法loaded

          function loaded(e:Event):void{

          //假定子swf中有函數sayHi(),那么可以這樣調用:

          e.target.content.sayHi();

          }

          由于是在父swf中執行方法,也可以設計接受父對象的方法,把父對象的引用傳給子swf。這樣子swf也就能夠執行父swf中的函數,獲取其變量了。參考:http://www.68design.net/Web-Guide/Flash/50014-1.html

          情況2:子swf調用父swf中的函數和變量。

          被加載的子對象一般被保存在Loader對象中。而Loader對象又通常被加到父swf中。這樣我們就可以通過this.parent一層一層取得父對象了。前提是Loader對象要被addChild到父對象中。例如:

          假如父swf中有變量var name:String = "ljf",并且通過Loader對象myLoader加載子swf,并執行了addChild(myLoader),則,我們可以在子swf中這樣獲取到name值:

          Object(this.parent.parent).name

          這樣做要特別小心。因為我們無法控制父對象加載子對象的方式。也許,有的人會用一個MovieClip來加載Loader對象,或者,加載對象之后,沒有把對象addChild加入到父swf的容器結構中。那么用this.parent.parent獲取到的,可能就是null值了。

          參考地址:http://zhidao.baidu.com/question/155160578

          posted on 2010-11-26 08:51 aiaiwoo 閱讀(1370) 評論(0)  編輯  收藏 所屬分類: AC3/FLEX

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

          導航

          統計

          常用鏈接

          留言簿

          隨筆分類

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 公安县| 长泰县| 手游| 阳山县| 日土县| 慈溪市| 鹤岗市| 陈巴尔虎旗| 应用必备| 长阳| 宜春市| 柞水县| 和平区| 新泰市| 汨罗市| 大名县| 衡东县| 临沧市| 哈密市| 长治市| 辽宁省| 运城市| 怀柔区| 屏东市| 哈密市| 洪江市| 阳谷县| 门源| 宣汉县| 金乡县| 沂水县| 兴安盟| 海晏县| 章丘市| 阿拉善左旗| 和田县| 绥宁县| 永善县| 福鼎市| 乐业县| 铁岭市|