flex类的深复制(扩展)
1:假如你要深复制一个类A
public class A
{
public var vo:B
}
你首先要做的是注册类,例如:
public static function registerClass():void
{
//把子类注册
PackUtil.registerClass(B);
}
//接下来就是克隆:
var cloneA:A=clone(A);
cloneA就是我们想要的对象了。
//****************克隆的实现方法***********************//
//克隆一个vo对象
public static function clone(o:Object):Object
{
var qClassName:String = getQualifiedClassName(o);
var objectType:Class = getDefinitionByName(qClassName) as Class;
registerClassAlias(qClassName, objectType);
var copier : ByteArray = new ByteArray();
copier.writeObject(o);
copier.position = 0;
return copier.readObject();
}
//向amf注册类,以便反转的时候能找到该类
public static function registerClass(classObj:Object):void
{
var qClassName:String = getQualifiedClassName(classObj);
var objectType:Class = getDefinitionByName(qClassName) as Class;
registerClassAlias(qClassName, objectType);
}
相关文档:
1.什么是函数,函数的两种定义方式
2.参数,传值和传址,默认参数、参数访问信息和变长参数
3.函数的变量(全局和局部)
4.代理函数对象和函数执行队列
5.返回函数类型和闭包
6.apply的应用(方法劫持,继承属性)
下载地址:as3_4函数 ......
Flex编译参数
accessible=true|false 是否具有可理解性(如为残疾人提供方便的性能)
actionscript-file-encoding | 设置文件编码,如Shitf_JIS
advanced | mxmlc -help advanced,如这样的高级参数
allow-source-path-overlap=true|false | 验证source-path中定义的路径是否出现重叠,出现互相包含的现象
as3=true|fa ......
本系列文章主要介绍了关于Flex与.NET结合开发中的一些互操作性,包括网络通信、数据加载、数据传输、文件传输、以及应用于Flex与.NET协作开发的通信网关开源项目FluorineFx的相关知识点。
开源项目FluorineFx就是专门针对.NET平台与Flex通信提供的AMF协议通信网关,我们可以通过FluorineFx很方便 ......
在用flex做Web应用时为了扩展应用程序功能,势必会更多的同浏览器进行交互,这样就会用到下面介绍的知识
1、在Flex中实现URL 跳转(使用flash.net.navigateToURL()方法如:)
/*
* param1: 要跳转的URL
* param2: 跳转方式 _blank /_self
*/
navigateToURL(new URLR ......
用URLLoader加载XML,然后将data转化为ByteArray
用byteArray.readMultiByte(bytes.length,"utf-8")
然后将转化后的字符串再强制转化为XML
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.Binary;
var urlRequest:URLRequest = new URLRequest(source);
loader.addEventListener( ......