flash java 交互_Flex与FLASH交互

最近做一个决策分析项目,需要使用到FLEX,而在使用的过程中,逐渐的接触到了FLASH,突然发现,用FLASH来做动画或者图表,用FLEX与JAVA后台进行交互,是一个非常方便的事情。唯一的障碍莫过于,FLEX与FLASH之间的数据交互。

其实这本身也不难,解决的方法就是通过Actionscript3.0.这需要注意的是,Flash cs5以上的版本才支持AS3.0,更以前的版本只支持AS2.0,我用的FlexBuilder是4.6,同样支持AS3.0。这样促使了As3.0可以完美的成为中间桥梁

以下代码为FLEX端

http://ns.adobe.com/mxml/2009

"

xmlns:s="library://ns.adobe.com/flex/spark"

xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"

creationComplete="application1_creationCompleteHandler(event)">

import mx.events.FlexEvent;

private var flexArr:Array = new Array();

protected function swfLoader_completeHandler(event:Event):void

{

// flash加载完成后,传入参数

Object(swfLoader.content).InitApp(this,this.flexArr,"交互测试");

}

protected function application1_creationCompleteHandler(event:FlexEvent):void

{

this.flexArr.push(1111,2222,3333,4444);

swfLoader.source="flash/RecComp.swf";

}

]]>

从上面代码可以看出,FLEX调用了一个RecComp.swf的Flash文件,在这个swf中,要写一个InitApp方法,传入一个对象(供FLASH调用FLEX,后续讲)一个数组用来存值和一个标题,如下

import flash.display.MovieClip;

import flash.display.Sprite;

import flash.text.TextField;

stop();

var flexApp:Object;

function InitApp(ap:Object,aarFlex:Array,titleMsg:String):void

{

this.flexApp = ap;

var array:Array = new Array();

var rec1:Rec1 = new Rec1();

var rec2:Rec2 = new Rec2();

var rec3:Rec3 = new Rec3();

var rec4:Rec4 = new Rec4();

var rec5:Rec5 = new Rec5();

var rec6:Rec6 = new Rec6();

var rec7:Rec7 = new Rec7();

var rec8:Rec8 = new Rec8();

array.push(rec1,rec2,rec3,rec4,rec5,rec6,rec7,rec8);

var format:TextFormat = new TextFormat("微软雅黑",22,"0x663300");

format.bold="bold";

format.align = "center";

var tf:TextField=new TextField();

tf.height=30;

tf.width=100;

tf.x=12.15;

tf.y=47.3;

tf.text=titleMsg;

tf.setTextFormat(format);

addChild(tf);

for(var i:int=0;i

array[i].x=15;

array[i].y=300 - 35*i;

var recInfo:RecInfo=new RecInfo();

recInfo.x=155;

recInfo.y=300 - 35*i - 3;

recInfo.titleInfo.text=aarFlex[i]+"人";

addChild(array[i]);

addChild(recInfo);

setChildIndex(array[i],i+1);

}

}

function InitApp(ap:Object,aarFlex:Array,titleMsg:String):void  这个方法为主要接收参数。至于里面别的代码,是我自己做的无件,与交互不相关。这个组件我会发至网盘,里面还包含了通过Flash来做动画,做元件等、供大家交流

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值