您的位置:首页 > 移动开发 > Objective-C

AS3如何访问父级元素

2010-10-13 16:02 337 查看
方法一:

 

进行类型转换,先将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()。对于有参函数,参数部分可进行同样处理。

 

(this.parent as
main).abc();

 

 

方法二:

 

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

            var myObj:Object =root

            //var myObj:Object =this.parent

           trace(myObj.i)

            trace(myObj. fun())

             

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

 

var myObj:Object =
this.parent;
trace(myObj.abc)

 

方法三:

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

root["i"]、root["fun"]或者parent["i"]、parent ["fun"]

原理:此时变量或函数已是父级对象数组的元素,直接可以进行访问。

 

//对时间轴上的变量"i"赋值
root["i"] = 0;  

//运行父级对象时间轴上的函数"visibles()"
parent["visibles"]();   
//arg1,arg2是函数要传递的参数
var fun:Function =
parent['functionname'];
if ( fun != null ) fun.apply (
parent , [arg1,arg2] );
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  object fun function null