AS3如何访问父级元素

方法一:

 

进行类型转换,先将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] );

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值