【转】as3中手工创建的MC如何访问父级变量及函数

来源:互联网 发布:wms软件供应商 编辑:程序博客网 时间:2024/05/01 17:08

手工创建的MC,在直接用root、 parent访问父级变量及函数时,编译已报错,解决方法如下:

方法一:

进行类型转换,先将root、parent强制转换为MovieClip类型,再进行 使用,如下:MovieClip(root).i、MovieClip(this.parent).i、MovieClip(root). fun() 、MovieClip(this.parent). fun() 或者(root as MovieClip).i、(this.parent as MovieClip).i、(root as MovieClip).fun()、(this.parent as MovieClip). fun()。对于有参函数,参数部分可进行同样处理。

 

方法二:

新建Object类型变量,指向 root或者parent,然后再进行调用,如下:

   var myObj:Object =root

   //var myObj:Object =this.parent

  trace(myObj.i)

ce(myObj. fun())

 

方法二与方法一在原理上本质是一致的。实际上也是将<span>root、parent转换为</span>Object类型。为什么要将root、parent转换为MovieClip、Object等类型,经网上搜索,没有明确的答案,有说法说它们是动态类.

 

方法三:

使用数组运算符进行调用。如下:

root["i"]、<span>root["fun"]或者parent["i"]、parent ["fun"]
原理:此时变量或函数已是父级对象数组的元素,直接可以进行访问。

以上总结或理解有什么不对的地方,恳请大家指正。

loaderInfo.parameters.xml_path   访问html中的参数
原创粉丝点击