getDefinitionByName

public function getDefinitionByName(name:String):Object  

返回


Object — 返回 name 参数指定的类的类对象引用。

引发:

 ReferenceError — 不存在具有指定名称的公共定义。

例1:builtin

		 var ClassReference:Class = getDefinitionByName("flash.display.Sprite") as Class;
	例2:已编译进内存的?

var tClass:Class=getDefinitionByName("className") as Class;
var t:*=new tClass();
前提是类className在文档中被引用过。无论前后

例3:利用loader载入swf,通过domain引入类定义

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);
loader.load(new URLRequest("test1.swf"));
function onComplete(evt:Event):void{
trace("complete"+evt.target);
var clsss:Class = (evt.target as LoaderInfo).applicationDomain.getDefinition("example") as Class;
var c:Sprite = new clsss();
addChild(c);
}



ps 例3中细化规范写法:

 var loadedSWF:LoaderInfo=evt.target as LoaderInfo;
     //SWF文件中的所有代码被定义为存在于应用程序域中
    var domain:ApplicationDomain=loadedSWF.applicationDomain as ApplicationDomain;
     var RectClass:Class=domain.getDefinition(className) as Class;//获取类名
     var RectA:MovieClip=(new RectClass()) as MovieClip;
    var RectB:MovieClip=(new RectClass()) as MovieClip;
    RectA.x=10,RectA.y=10;
    RectB.x=10,RectB.y=100,RectB.alpha=0.5;
     addChild(RectA),addChild(RectB);
     addChild(loadedSWF.content as MovieClip).alpha=0.2;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值