- 浏览: 97798 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
chensong215:
无法获取到ProgressEvent中的bytesTotal
自定义DownloadProgressBar -
qq2464785999:
非常感谢。
测试后,发现要用相对路径的话,好像要这么写
va ...
Flex写XML文件
Flex与Flex创建的swf通信
- 博客分类:
- flex
加载子SWF的Flex程序代码
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.managers.SystemManager;
import mx.controls.Label;
[Bindable]
public var loadedSWF:SystemManager;
private function initNestedAppProps():void {
loadedSWF = SystemManager(myLoader.content);
}
public function updateLabel():void {
lbl.text=loadedSWF.application["text_1"].text;
}
// Write to the Label control in the loaded application.
public function updateNestedLabels():void {
loadedSWF.application["text_2"].text = text_value.text;
}
]]>
</mx:Script>
<mx:Label id="lbl" x="204" y="69" fontSize="12"/>
<mx:SWFLoader id="myLoader" width="250" height="200"
source="subswf.swf"
creationComplete="initNestedAppProps();" x="13" y="124"/>
<mx:Button label="获得加载SWF中的控制值"
click="updateLabel();" fontSize="12" x="10" y="65"/>
<mx:Button label="修改加载SWF中的控制值"
click="updateNestedLabels();" fontSize="12" x="10" y="33"/>
<mx:TextInput id="text_value" x="192" y="35" fontSize="12"/>
</mx:Application>
子SWF程序代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Panel x="0" y="0" width="250" height="200" layout="absolute" title="加载的SWF文件" fontSize="12">
<mx:TextInput id="text_1" x="10" y="41" fontSize="12" text="大家好,我是FLEX"/>
<mx:TextInput id="text_2" x="10" y="88" fontSize="12"/>
</mx:Panel>
</mx:Application>
如果需要调用子swf的方法,可以将loadSwf的application转换成Object,然后再调用子swf中的方法,否则会出现找不到方法的错误。
var loadSwf:SystemManager = SystemManager(myLoader.content);
(loadSwf.application as Object).test();
源码下载
#===============================================================================
后来在使用发现上面的代码还是有隐患的,如果被加载的swf文件比较大,可能出项_loadSwf中的application值为null的情况。
下面是我补充的一段代码。
补充代码
private var _loadSwf:SystemManager;
private var content:Image;
private function onLoadCompleted(event:Event):void
{
_loadSwf = SystemManager(content.content);
_loadSwf.addEventListener(FlexEvent.APPLICATION_COMPLETE,swfReady);
function swfReady(event:FlexEvent):void
{
_loadSwf.removeEventListener(FlexEvent.APPLICATION_COMPLETE,swfReady);
(_loadSwf.application as Object).test();
}
}
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.managers.SystemManager;
import mx.controls.Label;
[Bindable]
public var loadedSWF:SystemManager;
private function initNestedAppProps():void {
loadedSWF = SystemManager(myLoader.content);
}
public function updateLabel():void {
lbl.text=loadedSWF.application["text_1"].text;
}
// Write to the Label control in the loaded application.
public function updateNestedLabels():void {
loadedSWF.application["text_2"].text = text_value.text;
}
]]>
</mx:Script>
<mx:Label id="lbl" x="204" y="69" fontSize="12"/>
<mx:SWFLoader id="myLoader" width="250" height="200"
source="subswf.swf"
creationComplete="initNestedAppProps();" x="13" y="124"/>
<mx:Button label="获得加载SWF中的控制值"
click="updateLabel();" fontSize="12" x="10" y="65"/>
<mx:Button label="修改加载SWF中的控制值"
click="updateNestedLabels();" fontSize="12" x="10" y="33"/>
<mx:TextInput id="text_value" x="192" y="35" fontSize="12"/>
</mx:Application>
子SWF程序代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Panel x="0" y="0" width="250" height="200" layout="absolute" title="加载的SWF文件" fontSize="12">
<mx:TextInput id="text_1" x="10" y="41" fontSize="12" text="大家好,我是FLEX"/>
<mx:TextInput id="text_2" x="10" y="88" fontSize="12"/>
</mx:Panel>
</mx:Application>
如果需要调用子swf的方法,可以将loadSwf的application转换成Object,然后再调用子swf中的方法,否则会出现找不到方法的错误。
var loadSwf:SystemManager = SystemManager(myLoader.content);
(loadSwf.application as Object).test();
源码下载
#===============================================================================
后来在使用发现上面的代码还是有隐患的,如果被加载的swf文件比较大,可能出项_loadSwf中的application值为null的情况。
下面是我补充的一段代码。
补充代码
private var _loadSwf:SystemManager;
private var content:Image;
private function onLoadCompleted(event:Event):void
{
_loadSwf = SystemManager(content.content);
_loadSwf.addEventListener(FlexEvent.APPLICATION_COMPLETE,swfReady);
function swfReady(event:FlexEvent):void
{
_loadSwf.removeEventListener(FlexEvent.APPLICATION_COMPLETE,swfReady);
(_loadSwf.application as Object).test();
}
}
发表评论
-
flex 自定义多个命名空间以及标签名
2013-01-22 15:21 1266flex 自定义多个命名空 ... -
FLEX中使用AS动态创建DataGrid
2013-01-09 16:24 883FLEX中使用AS动态创建DataGrid 2010年2月6日 ... -
flex与flash之间相互调用
2012-12-12 12:39 610http://www.cnblogs.com/kaixuan/ ... -
[AS3]加载视频(FLV)文件
2012-12-06 15:11 847[AS3]加载视频(FLV)文件 分类: FLEX/CS3-- ... -
通过FileReference打开本地图片崩溃的解决方法
2012-12-06 14:02 705通过FileReference打开本地图片崩溃的解决方法 最近 ... -
使用FileReference的load()方法加载本地图片
2012-12-06 13:56 8961、要想使用FileReference的load()方法和da ... -
[AS3]Bitmap序列化(将BitmapData保存为原生Binary/ByteArray)
2012-12-06 13:48 748[AS3]Bitmap序列化(将BitmapData保存为原生 ... -
as3 画五角星算法
2012-12-05 16:49 2594as3 画五角星算法 阅读:10次 时间:2012-03- ... -
flex嵌入完整html
2012-11-29 11:18 797有时候我们需要在Flex应用中嵌入HTML代码,根据嵌入HTM ... -
flex4 textArea的htmlText属性
2012-11-29 11:13 3097它现在包含Text布局框架(Text Layout Frame ... -
Tooltip应用
2012-11-29 11:11 699创建ToolTip: var errorToolTip:To ... -
数据绑定显示问题
2012-10-27 12:11 629数据绑定实时变化。 XMLListCollection 可以变 ... -
待解决问题
2012-09-18 23:48 6901.仪表盘 2.渐变填充的使用 3.发光效果的完美运用 能在一 ... -
as3加载外部图片的两种方式
2012-09-09 11:46 986package net.burchin.loading { ... -
公式as3
2012-09-06 18:13 0as3 1人收藏此文章, 我要收藏 发表于1年前(2011-0 ... -
Flex中多线程的实现
2012-09-06 10:49 3466破阵子_如是我闻 如是我闻。一时佛在舍卫国,祗树给孤独园.. ... -
自定义column renderer
2012-08-09 15:07 896<?xml version="1.0" ... -
drowshadowFilter
2012-08-09 15:05 648DropShadowFilter 类,在Flash中为各种对象 ... -
123123
2012-08-08 17:16 0http://www.oschina.net/code/sni ... -
flex 画面快照截图与显示
2012-08-08 11:32 1036一、对指定画面进行快 ...
相关推荐
SWF之间通信、Flex与SWF之间通信、C#与SWF之间通信
Flex中SWF和其他SWF文件之间的通信原理。该案例中TestLocalConnection为主SWF文件加载了TestLocalConnectionReceiver.SWF,两者之间是在同一个域下的通信,工程代码编译路径需要下载者手动修改下。其他技术细节参见...
这里讲述的是在Flex Application中嵌套一个SWF,然后实现Flex与SWF相互间的通讯。我们需要引入SystemManager接口实现。 环境:Eclipse + Flex Builder
6.3.1 创建一个Flex项目 6.3.2 使用设计模式 6.3.3 使用数据绑定 6.3.4 使用触发器和特效 6.3.5 编译应用程序 6.4 创建ActionScript应用程序 6.4.1 创建ActionScript项目 6.4.2 比较文件...
今天花了一些时间整理出来了Swf 文件与JavaScript通信的示例,在此贴出供大家参考。 在ActionScript3.0与JavaScipt通信的时候需要用到ExternalInterface类。 “ExternalInterface”类是外部API,在ActionScript和...
第一章.Flex与ActionScript基础(3) 1.1节.用FlexBuilder创建Flex项目 1.2节.用FlexBuilder创建Flex库项目 1.3节.创建ActionScript项目 1.4节.在FlexBuilder中设置MXML编译器选项 1.5节.在FlexBuilder外部编译Flex...
看到flash和asp文件时面变量名就知道相互是怎么传送的呢,对于数据库的一些插入,更新,查询的操作,只要接收flash的数据,直接运行asp相关数据库操作命令就行了....在线观看地址:http://www.wolf2999.cn/php/test.swf
25.5.1创建测试的SWF 558 25.5.2跨脚本访问测试 562 25.5.3文本载入测试 563 25.6小结 564 第26章FlashPlayer与宿主程序 565 26.1使用外部接口ExternalInterface类 565 26.1.1ExternalInterface类 565 26.1.2...
FluorineFx.NET提供了完善的RPC(Remote Procedure Call)功能,无论是通过Flash还是Flex开发的客户端应用(.swf)都可以非常简单方便的采用RPC的方式调用.NET的服务器端方法
GWT2SWF 旨在提供 GWT 和 FLASH/FLEX 之间的软件桥梁。 这意味着使用 GWT2SWF 您将能够在 GWT 和 FLASH/FLEX 之间进行通信。 GWT2SWF 提供 SWFWidget 和 FlashPlayer 版本检测。
功能: 支持AS3的ByteArray序列化对象的AMF格式编码、解码( readObject...支持解压还原LZMA算法压缩过的SWF文件(文件头三字节为:ZWS的 *.SWF文件)。 为方便想了解AMF格式及封包的坛友分析解码AMF数据资料使用。
功能: 支持AS3的ByteArray序列化对象的AMF格式编码、解码( readObject...支持解压还原LZMA算法压缩过的SWF文件(文件头三字节为:ZWS的 *.SWF文件)。 为方便想了解AMF格式及封包的坛友分析解码AMF数据资料使用。
第章:与其他FlashPlayer和AIR实例通信 关于LocalConnection类 在两个应用程序之间发送消息 连接到不同域中的内容和AIR应用程序 第章:与AIR中的本机进程通信 本机进程通信概述 启动和关闭本机进程 与本机进程通信 本...
与DotNet数据对象结合的自定义数据对象设计 (二) 数据集合与DataTable 与DotNet数据对象结合的自定义数据对象设计 (一) 数据对象与DataRow ASP.NET中大结果集的分页[翻译] .net 2.0 访问Oracle --与Sql Server的...
2012-06-11 09:50 3,412,722 内部文件非内部程序员禁止访问谢谢1234567890123456789能够实现文件的多选,统一上传,从而实现文件的批量上传Flex多文件上传源码VS2005.rar 2012-06-11 10:08 1,481,225 几个C语言小...