快速业务通道

Flash AS3.0教程:用反射动态创建实例

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-07

用反射动态创建实例 使用new运算符创建对象或实例时,直接调用了某个具体类的构造函数,而在编写程序时,经常需要动态地创建类的实例,这时可以使用反射来创建实例。 例如,如果仅知道某个实例,而不知道实例对应的类,就可以用反射来创建实例。AS3中的所有类都属于Class类型,例如,MovieClip是一个Class,Bitmap也是一个Class。 例:
1、新建一个Flash文档 2、单击图层第一帧,打开动作面板,输入代码:

//动态得到类的构造函数
var classcontructor:Class = MovieClip;
//创建相关类的实例
var mc:MovieClip = new classcontructor();
mc.graphics.beginFill(0xff9900,100);
mc.graphics.drawRect(0,0,100,100);
addChild(mc); 3、测试影片,可看到绘制的矩形图。 上面的代码并没有直接用MovieClip类来创建实例,而是先把MovieClip类保存在一个数据类型为Class的变量 “classcontructor”中,再通过“classcontructor”来创建实例。当“classcontructor”的值改为其他类型时,创建的实例也就属于其他类型。 用同样的方法把库中的图片导出来,步骤同上,看代码:

//保存链接名
var linkname:String = "BigPhoto";
//得到类信息
var cla:Class = getDefinitionByName(linkname);
//创建类的实例
var bitmapdata:BitmapData = new cla(50,50);
var img:Bitmap = new Bitmap(bitmapdata);
addChild(img);

测试影片,可看到从库中导出的图片。(测试此代码请选择【文件】【发布设置】Flahs选项卡,ActionScript 版本(A)点设置,把严谨模式的勾去掉,点确定。) 用上面的原理,可以根据链接名来从库中动态导出图片,深入下去,可制作swf素材库,根据库中的链接名可以动态导出素材。 关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号