flex调用as2的swf
由于avm版本的问题,flex3无法直接调用flash做的swf文件,弄了一天,最后终于想到了一个办法,将LocalConnect和flex调用as3两种方式攒在了一起,算是暂时把这个问题解决了!
存起来,留着以后修改
第一步:用flash做一个as2的文件
我在里面添加了一个按钮
在第一帧写下面的代码
mybtn.onRelease=function()
{
var caller:LocalConnection=new LocalConnection();
caller.send("as_server","testAs3",this._name);//this._name为第二步中创建的swf里testAs3的参数
}
第二步:创建一个flash做的as3的文件,包含一个名为lab的label
添加下面的代码
var server:LocalConnection = new LocalConnection();
server.connect("as_server");
server.client = this;
function testAs3(msg:String):void{
lab.text=msg;
app.appshowtext(lab.text);
}
var app:Object;
function swfshowtext(str:String):void{
lab.text=str;
}
function setApp(ap:Object):void{
this.app=ap;
}
function testAs31(msg:String,str:String):void{
lab.text=msg+str;
app.appshowtext(lab.text);
}
第三步:写flex代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
private function onSwfLoaded(event:Event):void{
Object(myloader.content).setApp(this);
}
//准备给swf调用的方法
public function appshowtext(str:String):void{
textinput.text=str;
}
]]>
</mx:Script>
<mx:SWFLoader id="myloade" source="../daohang.swf" autoLoad="true" scaleContent="false"/>
<mx:TextInput id="textinput"/>
<mx:SWFLoader id="myloader" source="../demo1.swf" creationComplete="onSwfLoaded(event)" autoLoad="true" scaleContent="false" width="370" height="168"/>
<mx:Button label="send to local.swf" click="Object(myloader.content).swfshowtext(textinput.text);"/>
</mx:Application>
运行一下,ok!!!
相关文档:
1、XMLSocket对象简介
在概述里,已经提到过了Flash里的XMLSocket对象,它是实现Falsh和服务器Socket间
通信的核心。它允许包含Flash应用的浏览器与服务端建立socket连接,之后Flash应用与服务端就可以相互发送XML数据,而且在一个
socket连接建立之后,在该连接上传送的数据量是没有限制的,直到socket连接关闭。XMLSoc ......
前言
最近,正竭斯底里地重构flex技术平台开发的产品【wizBuilder CS】。以前为赶功能,界面部分代码都写得好乱,现在是时候修理下自己作的孽了,顺便为产品添加多语言支持(Localization)。
主要任务
代码重构
多语言支持
添加新功能、修改现有功能、去掉不合理的功能
修正重构过程中发现的 ......
1、当创建一个数组的时候避免用new操作符,用 var a:Array = [];而不用var a:Array = new Array();
2、快速的复制一个数组:
var copy : Array = sourceArray.concat ();
3、设置一个数组的值是非常忙的:
employees.push ( employee ); employees[2] = employee;
4、从一个数组中取得值的速度是设置一个数组值的两倍 ......
FLEX--仿Google联想框效果--现在好多地方都用到了这样的效果,当然,现在Google下线了,不让用了,但是跟网上说的一样,想办法,它还是能出来的
首先是事件源,也就是从何而起,如下的一个输入框:
复制代码 代码如下:
<mx:FormItem label="集团客户:" width="42%">
<!--change1-->
<mx:TextInput id="txt ......
Flex事件机制是观察者模式,即首先要注册事件,事件分发后通过事件响应函数进行处理。
例如在AS3中:
button.addEventListener(“click”,onClick);//向button注册一个click事件
internal function onClick(evt:MouseEvent):void{txt.text=“click a button!”;}//事件响应函数 那么注册事件注册什么呢?通 ......