zoukankan      html  css  js  c++  java
  • Flex调用swf内方法

    一般我们生成的swf有3种,一种是Flex mxml主应用编译得到,第2种类是用Flex SDK编译as类得到,还有一个就是fla在Flash CS3内运行生成。

    因为第3种的调用方法同第2种,这里就说明前2种swf在Flex项目内的应用。

    HelloWorld1.mxml

    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"  layout="absolute" >  
    3.     <mx:Script>  
    4.         <!--[CDATA[  
    5.             public function sayHello():void{  
    6.                 trace("HelloWorld from mxml");  
    7.             }  
    8.         ]]-->  
    9.     </mx:Script>  
    10. </mx:Application>  

    HelloWorld2.as

    1. package{  
    2.     public class HellowWorld2{  
    3.         public function sayHello():void{  
    4.             trace("HelloWorld from AS");  
    5.         }  
    6.     }  
    7. }  
     

    app.mxml

    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"  layout="absolute" >  
    3.     <mx:Script>  
    4.         <!--[CDATA[  
    5.             public function CompleteHandler1(evt:Event):void{  
    6.                 Object(evt.target.content.application).sayHello();            
    7.             }  
    8.             public function CompleteHandler1(evt:Event):void{  
    9.                 Object(evt.target.content).sayHello();  
    10.             }  
    11.         ]]-->  
    12.     </mx:Script>  
    13.     <SWFLoader id="hw1" source="HelloWorld1.swf" complete="CompleteHandler1(event)"/>  
    14.     <SWFLoader id="hw2" source="HelloWorld2.swf" complete="CompleteHandler2(event)"/>  
    15. </mx:Application>  
     

    HelloWorld1.mxml和HelloWorld2.as分别用Flex SDK编译成swf,然后在app.mxml内调试。

    可以看出第一种情况生成的swf因为是通过mxml生成的,e.target.content其实是一个SystemManager类对象,必须要 通过它的application才能访问swf内部方法,而用as类直接生成的swf通过e.target.content就能直接访问。

  • 相关阅读:
    本周学习进度条11
    编程珠玑阅读笔记01
    单词统计
    本周学习进度条10
    《构建之法》读后感三
    第九周总结
    第一阶段冲刺
    第八周总结
    wpf图片浏览器,实现缩放平移操作图片切换等功能
    获取当前进程(程序)主窗体句柄并设置wpf的父窗体为此句柄
  • 原文地址:https://www.cnblogs.com/nianshi/p/1774202.html
Copyright © 2011-2022 走看看