冷月葬花魂 发表于 2015-1-15 22:48:32

带来一篇as3中经由过程ByteArray举行工具的深度拷贝-Flash actionscript

Flash通常也指MacromediaFlashPlayer(现AdobeFlashPlayer)。2012年8月15日,Flash退出Android平台,正式告别移动端。
poluoluo中心提醒:as3中经由过程ByteArray能够举行工具的深度拷贝.
明天同事问我有as3中工具深度拷贝的成绩
本来还真是没用过,明天google后本人总结下,便于人人参考
as3中经由过程ByteArray能够举行工具的深度拷贝
importflash.utils.ByteArray;
importflash.utils.getQualifiedClassName;
importflash.net.*;
importsrc.*;
functioncloneObject(source:Object):*{
vartypeName:String=getQualifiedClassName(source);//猎取全名
trace(”输入类的布局”+typeName);
//return;
varpackageName:String=typeName.split(”::”);//切出包名
trace(”类的称号”+packageName);
vartype:Class=getDefinitionByName(typeName)asClass;//猎取Class
trace(type);
registerClassAlias(packageName,type);//注册Class
//复制工具
varcopier:ByteArray=newByteArray();
copier.writeObject(source);
copier.position=0;
returncopier.readObject();
}
有的人说用复制工具那一段不就能够了吗,可是实践下行欠亨
关于数组深度复制来讲,复制工具的前面4句代码就充足了
vara1:Array=;
vara2:Array=cloneObject(a1);
vara3:Array=a1;
a1.push(”youmila”);
trace(”a1:”+a1+”a2:”+a2+”a3″+a3);
可是关于工具来讲一定不可
用列子测试下
src.youmila.as代码:
packagesrc{
publicclassyoumila{
privatevar$_name:String=”youmila”;
privatevar$_num:Number=0;
publicfunctionyoumila():void{
trace($_name);
}
publicfunctionsecondFunc():void{
$_num++;
trace(”thisacalledfunction$_num::”+$_num);
}
}
}
yapollo.as代码:
package{
publicclassyapollo{
privatevar$_name:String=”yapollo”;
publicvar$_num:Number=0;
publicfunctionyapollo():void{
trace($_name);
}
publicfunctionsecondFunc():void{
$_num++;
trace(”thisacalledfunction$_num::”+$_num);
}
}
}
测试实例
varuml1:youmila=newyoumila();
varuml2=cloneObject(uml1);
trace(”范例”+getQualifiedClassName(uml2));
输入了局:
youmila
范例Object
本来的工具范例丧失了,以是关于工具而言,四行不敷,必需
用registerClassAlias来保留类的别号,以用于丧失后恢复类的范例
测试实例
varuml1:youmila=newyoumila();
varuml2=cloneObject(uml1);
trace(”范例”+getQualifiedClassName(uml2));
varapollo:yapollo=newyapollo();
apollo.secondFunc();
varapollo2=cloneObject(apollo);
trace(”第一次输入复制工具的$_num值”+apollo2.$_num);
trace(”范例”+getQualifiedClassName(apollo2));
apollo2.secondFunc();
trace(”第二次输入复制工具的$_num值”+apollo2.$_num);
输入了局:
youmila
输入类的布局src::youmila
类的称号src

youmila
范例src::youmila
yapollo
thisacalledfunction$_num::1
输入类的布局yapollo
类的称号yapollo

yapollo
第一次输入复制工具的$_num值1
范例yapollo
thisacalledfunction$_num::2
第二次输入复制工具的$_num值2


借助令人兴奋的全新3D平移和旋转工具,通过3D空间为2D对象创作动画,您可以沿x、y、z轴创作动画。

第二个灵魂 发表于 2015-1-17 18:54:40

在计算机出现之前,动画制作者必需手工绘制即使差别很小的不同祯的图像。当然,非自动的,一祯祯的动画在很多情况下仍然很有用,Flash也允许这样做。

admin 发表于 2015-1-24 06:21:59

Flash动画制作,是指利用Flash软件对动画进行设计,以产生千变万化的效果。随着互联网的兴起。

变相怪杰 发表于 2015-1-31 23:17:09

缺点也必然会会有的,但是不同的产品有不同的缺点吧,比如说flash建站它的速度会比较慢。

只想知道 发表于 2015-2-7 02:52:33

只要用心 只要努力 在加上你无限的创意和想象。FLASH无敌了

山那边是海 发表于 2015-2-20 13:11:06

流技术让用户在下载的同时看到动画(与全部下载后再观看相反)。但是这也不是什么新技术 - Web一出现就有这种技术了。

简单生活 发表于 2015-3-6 18:06:43

都着重在优点方面,请尽量答的详细、深入一些,谢谢!拿了我全部的爱问分了已经

灵魂腐蚀 发表于 2015-3-13 06:11:36

缺点方面~有些技术不能实现,不过FLASH技术在发展在进步,相信在以后FLASH可以取代,大部分的视频编辑软件,视频制作软件。

精灵巫婆 发表于 2015-3-20 15:47:54

flash的流行因素包括了技术上的优势——技术本身的优势;技术掌握上的优势;其他技术的弱势;
页: [1]
查看完整版本: 带来一篇as3中经由过程ByteArray举行工具的深度拷贝-Flash actionscript