Flex与Flash通讯

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

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

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

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

1:Flash CS4工具打开

按如下 属性 制作界面

Flex与Flash通讯

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并通讯

 

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 >

 

 

 

你可能感兴趣的:(Flash)