• Flex与Flash通讯


    Flex是开发Ria的利器,Flash在动画 游戏等方面较强大,可以制作出更生动 形象,富有乐趣性的交互产品来。

    在多数情况下需要2者结合。

    两者之间的通讯是依靠事件机制完成的。

    以下的例子是:Flash提交数据给Flex,Flex改变Flash的数据。

    1:Flash CS4工具打开

    按如下 属性 制作界面

    2:按 F9  ,输入以下代码:

    //提交按钮 来广播一个 事件给Flex
    subBtn.addEventListener(MouseEvent.CLICK,sendToFlexHandler);

    var resultFlash:
    int=10;

    function sendToFlexHandler(evt:MouseEvent):
    void
    {
     
    //广播了  FlashSended 事件
     dispatchEvent(new Event("FlashSended"));
    }
    //用于给flex 传值的 接口 
    function getResult():
    int
    {
     
    return resultFlash;
    }

    3:测试 发布

    下面来讲讲Flex的调用Flash并通讯

    代码
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
        
    <mx:Script>
            
    <![CDATA[

                import flash.events.Event;
                
    private function init():void
                {
                                      
    //是 swfLoader的content属性来侦听 Flash内容的 事件
                    sl.content.addEventListener("FlashSended",FlashSendedHandler);
                }
                
    private function FlashSendedHandler(evt:Event):void
                {
                                      
    //Flex 已经侦听到了 Flash发送的FlashSended事件
                    trace("I reiceived!");
                                       
    //Flex控制了flash内容里的 receiveTxt 文本内容
                    evt.target.receiveTxt.text="ok ,I received Flex data";
                                       
    //Flex调用flash里的getResult方法
                    var a=evt.target.getResult();
                    trace(a
    +"------------");

                }
                
    private function initFlashTxt(evt:Event):void
                {
                                       
    //打开swf时 便给swf赋值传参
                    evt.target.content.initTxt.text="flex init value";

                }

            ]]
    >
        
    </mx:Script>
        
    <mx:SWFLoader x="178" y="33" width="354" height="226" id="sl" source="FlashToFlex.swf" scaleContent="false" complete="initFlashTxt(event)"/>
    </mx:Application>
  • 相关阅读:
    git小乌龟的使用
    C语言笔记(二):数据类型(基本数据类型)、类型转换(自动转换、强制转换)
    Edge Chromium 中如何始终允许运行 Flash 内容
    【DTOJ】2704:数字互换
    【DTOJ】2703:两个数的余数和商
    【DTOJ】1001:长方形周长和面积
    Linux_simpl shell-利用Shell脚本for循环输出系统中的用户及其Shell
    Linux_Centos7安装VNC实现远程桌面
    Linux_crontab参数表示的意思
    Docke部署nginx并配置nginx
  • 原文地址:https://www.cnblogs.com/naiking/p/1728131.html
Copyright © 2020-2023  润新知