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!!!
相关文档:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
viewSourceURL="srcview/index.html" backgroundColor="0x000000" layout="absolute">
<mx:Script>
&nb ......
了解Flex程序的生命周期
Flex程序从本质上讲,就是使用了(由AS编写的)Flex框架的Flash程序。
但在Flex程序中可以忽略timeline这个概念,所有的内容都集于一帧。
事实上Flex程序中的根,是继承flash.display.MovieClip的mx.managers.SystemManager。
SystemManager有两帧。第一帧是预加载程序,第二帧是主程序。
因此 ......
前几天一直被为什么我的pdf文件无法在air程序中显示出来烦着.
在几个不同的论坛发了帖子,可是回答的人寥寥无几, 我都怀疑是不是我的问题太简单了,大家都没有去回答的欲望, 毕竟我才接触flex.
今天早上终于想出了答案:
原来必须在正确安装了air程序之后才能加载pdf文件.
我的程序没有错,错在我是在Flex builder下运行的 ......
以下介绍几种最为常见和实用的FLEX与现有开发语言通信的方法:
1.C#
2.PHP
3.JAVA
1.Flex与C#通信(.net开发中常用)
Flex端代码:
public static function SendMessage(objXML:XML,objResultHandle:Function):void
{
var objHttpService:HTT ......