flex与flash交互之LocalConnection

flex与flash编译后都为swf文件,所以之间的交互也比较方便,但要注意版本的问题,如果使用的AS3.0,那flash player在解析的时候会自动的使用AVM2处理,而使用AS2.0或者AS1.0的swf在运行时,flash player会自动的使用AVM1处理,,那么使用Action Script3.0的flex与flash as2就无法直接进行交互,好在action script2.0和AS3.0里都有LocalConnection可以来解决这个问题,使用LocalConnection的好处是不用管flex和flash各自使用的哪一个版本的Action Script,都可以进行通信交互,下面我们就来看一下其交互的实现

flash端(我这里用的都是AS3,AS2的可以修改一下)

 b1为一按钮,hi为一动态文本框

Java代码
  1. stop();    
  2. var conn:LocalConnection = new LocalConnection(); conn.addEventListener(StatusEvent.STATUS,onStatus);    
  3. conn.connect("fromFlex");    
  4. conn.client = this;    
  5. b1.addEventListener(MouseEvent.CLICK,onClick);    
  6. function onClick(event:MouseEvent):void    
  7. {    
  8.     conn.send("fromFlash","gogo");   
  9.  }   
  10.  function onStatus(event:StatusEvent):void    
  11. {    
  12.    hi.text=event.level;    
  13. }    
  14. function showText(s:String):void    
  15. {   
  16.   hi.text = s;    
  17. }  

  flex

Java代码
  1. function dh(event:Event):void    
  2. {    
  3.    ddd.text="hi,FLEX/FLASH";    
  4.    conn = new LocalConnection();    
  5.    conn.client = this; conn.connect("fromFlash");    
  6.    conn.addEventListener(StatusEvent.STATUS,onStatus);    
  7. }   
  8.  function onStatus(event:StatusEvent):void    
  9. {    
  10.    ddd.text = event.level;    
  11. }    
  12. public function gogo():void    
  13. {    
  14.    ddd.text="FLASH访问";   
  15.    Alert.show("wfwefwefwdf");    
  16. }    
  17. function goto(event:MouseEvent):void    
  18. {    
  19.    conn.send("fromFlex","showText","hahaha");    
  20. }  

你可能感兴趣的:(java,function,String,Flex,Flash,action)