zoukankan      html  css  js  c++  java
  • Flex实现加载as2的swf交互

    Flash可以做很多丰富表现力的动画效果和交互效果,这是flex不能比拟的。
    但并不意味着Flex不能实现同样的效果。
    Flex程序整合Flash并不难,因为他们都是用ActionScript语言。
    Flex同样可以控制Flash
    在Flex中插入Flash是提高程序交互性的好方法。
    可以把Flex和Flash的优点都发挥出来。
    但是有一个AS版本的问题:当加载swf文件时,被加载的文件和主文件都运行在FlashPlayer中。
    Flex采用了As3.0语言,对应的swf文件被播放器的AVM2(虚拟机)解释执行,
    当加载的swf不是as3.0语言时,播放器会使用AVM1解释执行。
    这2个版本无法传递信息,导致Flex无法确定Swf文件的位置,也无法使用里面的函数、变量。使得交互大打折扣。

    使用flash.net.LocalConnection对象可以巧妙的解决这个问题。可以避开播放器限制,不管swf运行在AVM1上
    还是AVM2上,都可以相互通讯。

    例子:

    Flex(as3的swf) 传递 数值 给一个as2的swf

     1 
     2 <?xml version="1.0" encoding="utf-8"?>
     3 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">
     4  <mx:Script>
     5   <![CDATA[
     6    import flash.net.LocalConnection;//导入LocalConnection类
     7    private var CNum:Number=0;//Flex变量 传递给as2的swf
     8    private var sendConn:LocalConnection;
     9    //
    10    internal function initApp():void{
    11     //创建一个 LocalConnection实例
    12     sendConn = new LocalConnection();
    13     //
    14    }
    15    
    16    internal function addNum():void{
    17     CNum++;
    18     trace(CNum+" cc")
    19     //send(连接名:String,Flash里的方法:String,参数)
    20     sendConn.send("flexToSwf","showNum",CNum);
    21    }
    22    public function reduceNum():void{
    23     CNum--;
    24     trace(CNum+" dd")
    25     //send(连接名:String,Flash里的方法:String,参数)
    26     sendConn.send("flexToSwf","showNum",CNum);
    27     
    28    }
    29   ]]>
    30  </mx:Script>
    31  <mx:SWFLoader x="30" y="10" source="test.swf"/>
    32  <mx:Button x="48" y="403.5" label="参数+1" click="addNum()"/>
    33  <mx:Button x="99" y="403.5" label="参数-1" click="reduceNum()"/>
    34  
    35  
    36 </mx:Application>
    37 
    38 
    39 

    打开Flash ,新建一个As2的Flash
    按F9 输入代码:

    Code
  • 相关阅读:
    认识目标文件的内容
    PetaLinux工程更新HDF文件的脚本
    [海思] 中断申请和重启问题
    [海思] HI3531D串口调试
    【C语言】结构体初始化
    [ZCU106] Petalinux 2018.3 与启动环境搭建记录
    旧版本源码usbip的移植
    jar包下载地址
    Django框架
    前端内容
  • 原文地址:https://www.cnblogs.com/naiking/p/1585832.html
Copyright © 2011-2022 走看看