【转】 AS3.0 中root和parent的用法
2011年09月30日
一、首先看一下在单个swf中的用法:
在主舞台上的帧上写下如下代码:
var xxx="this is root";
新建一个MC,给它一个实例名称test_mc1,在test_mc1中的帧上写下如下代码:
trace(parent["xxx"]);
trace(root["xxx"]);
trace(root["test_mc1"].alpha)
最终的输出为:
this is root this is root
1
如果在test_mc1中在建立一个实例名称为test_mc2的movieclip,如何trace它的alpha呢:
trace(root["test_mc1"].test_mc2.alpha);
最终输出“1”。
二、如果是两个swf,他们之间是怎样操作的呢:
新建两个flash文件,命名为a1和a2,
在a1.fla中的帧上写下如下代码:
var xxx="this is root";
var myloader=new Loader();
myloader.load(new URLRequest("a2.swf"));
addChild(myloader);
在a2.fla中建立一个动态文本框,实例名称为txt;
在帧中写下如下代码:
txt.text=parent.root["xxx"];
分别发布两个flash文件,然后运行a1.swf,看到其显示结果为"this is root";
在发布a2.swf是你会看到:
ReferenceError: Error #1069: 在 flash.display.Stage 上找不到属性 xxx,且没有默认值。
at a2_fla::MainTimeline/a2_fla::frame1()
不用去理它,因为他不是通过a1.swf load到场景,所以找不到xxx这个参数。
这里的第一个parent是a1.swf中的myloader,myloader的再上一级才能找到xxx这个参数,这里也可以写成parent.parent["xxx"]。
我想通过这两个例子应该比较清楚如何在AS3中使用root和parent了。
但as3的root在类型转换上出现的问题具有普遍性
as3的文档类通常使用Sprite或MovieClip,但实际上继承DisplayObject的类,在理论上均可做文档类
故adobe在设计root时,
设计为root:DisplayObject
很多时候需要使用root as MovieClip来使用gotoAndStop一类脚本 这在前一篇文章中(AS2中的_root,在AS3的用法)已经说过了
发表评论
-
Windows Mobile 平台EDB 数据库的应用与开发
2012-01-20 09:30 731Windows Mobile 平台EDB 数据 ... -
PHP on Windows Azure 入门教学系列(3) ――在Windows Azure中部署Wordpress
2012-01-20 09:30 628PHP on Windows Azure 入门教学系列(3) ... -
windows驱动编程学习顺序?
2012-01-20 09:30 588windows驱动编程学习顺序? 2010年11月19日 ... -
Windows Azure 上的托管服务CDN
2012-01-20 09:30 537Windows Azure 上的托管服 ... -
Windows Azure(四-2):云端的文件系统(Blob Storage)
2012-01-20 09:30 660Windows Azure(四-2):云端的文件系统(Blob ... -
中国哲学史(先秦部分)-------简答
2012-01-19 14:32 748中国哲学史(先秦部分)-------简答 2012年01月0 ... -
夏商与西周》第四十二章之昭王伐楚(二)
2012-01-19 14:32 600夏商与西周》第四十二章之昭王伐楚(二) 2012年01月08 ... -
龄欣哔日志蹈诒刺陕疥赤
2012-01-19 14:32 682龄欣哔日志蹈诒刺陕疥赤 2012年01月09日 ... -
古玩辨伪之青铜器
2012-01-19 14:31 520古玩辨伪之青铜器 2012年01月09日 ... -
日本法定假日简介
2012-01-19 14:31 553日本法定假日简介 2012 ... -
JavaScript之Global对象
2012-01-17 04:19 545JavaScript之Global对象 2011年08月24 ... -
JavaScript中的 try...catch和异常处理(转)
2012-01-17 04:19 611JavaScript中的 try...catch和异常处理(转 ... -
JavaScript的函数和异常处理
2012-01-17 04:19 610JavaScript的函数和异常处 ... -
JS的try..catch..finally
2012-01-17 04:19 681JS的try..catch..finally 2011年09 ... -
海洋随笔《三》
2012-01-16 03:08 570海洋随笔《三》 2011年12月07日 天再次进入黑暗, ... -
这文章看得我心里酸溜溜的,送给每一个爱老公的女人…
2012-01-16 03:08 752这文章看得我心里酸溜溜的,送给每一个爱老公的女人… 2011 ... -
《 つ 谢谢你勾引我老公1。文/唐丰有》
2012-01-16 03:08 641《 つ 谢谢你勾引我老公1。文/唐丰有》 20 ... -
最性感的地方
2012-01-16 03:08 601最性感的地方 2011年12 ... -
[耀湾/微亚细亚] 夜降り萃梦乡 FIN.
2012-01-16 03:08 739[耀湾/微亚细亚] 夜降り萃梦乡 FIN. 2009年02月 ...
相关推荐
ylmf OS3.0启用root用户 ylmf OS3.0启用root用户
红米K40 稳定版 12.5.3.0 一键Root.zip
安卓2.3.4-3.0获取ROOT权限教程.pdf
华硕笔记本第三方AsMedia USB3.0 Driver,找了很久才发现的!很好用 不是intel自己的usb3.0
configURL = this.root.loaderInfo.parameters.configURL; } com.flash.mp3player.common.CommonModel.GetInst(); this.playerFacade.Init(this); this.playlistFacade.Init(this.playerFacade.GetHeight() - 1...
Root Explorer 3.3.5 (改) 3.0 凯旋,安卓手机管理利器。
Root Explorer RE管理器 v3.0.apk
GingerBreak是一款非常有用的一键获取ROOT权限的小工具,这款软件能够在Android 2.2和Android 3.0系统中正常使用! 使用须知: - 你必须要在你的Android设备上启用USB调试; - 你需要你的Android设备中有一个可用的...
用于OPPO coloros3.0系统root后xp框架下的模块,隐藏root警告
一键ROOT工具V3.0by移动叔叔 有需要的童鞋下载吧
MTK6589一键ROOT工具v3.0 1 在ROOT前,开机状态,USB连上电脑,按照以下方法操作
找了很久酷派9190L的ROOT工具,但很多不能真正的ROOT,这个是经过使用能真正ROOT的,希望对大家有用
一键root(kingroot)PC版是kingroot团队开发的用于PC端一键获取安卓手机root权限的工具,可完美支持HTC、MOTO、三星、索尼爱立信、华为、中兴、联想、酷派等超过65个品牌400个型号,Android 2.1-Android 4.0.3系统...
rootca_V3.0.crt
AMD USB3.0 驱动程序 amd-catalyst-1571-sb-sata-ahci-win10-win81-win7.exe
Root_Explorer-v4.3.0(3.0 )-Kstyle_icon_group-Patched_by_Alphaeva
mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
瑞萨usb3.0驱动是RenesasElectronics电脑设备的USB3.0控制器的驱动程序,需要安装该驱动才能正常使用USB3.0功能。需要的朋友快下载吧!驱动信息适合型号NEC/RenesasUSB3.0控制器适用部件⊿--其他设备nbsp;|--通用...
vue状态管理使用vuex,如果项目不大,逻辑不多,name我们没必要用vuex给项目增加难度,只需要用$root设置vue实例的data就行了,如下 main.js new Vue({ data(){ return{ loading:true } }, router, store, ...
用户管理(ExtremeUser_3.0.0.3)...系统用户root、ftp、network、nobody虽然没有在列表中显示,但是已经存在并且不允许操作他们。 用户名或密码建议用字母和数字,不允许有空格。 安全性和稳定性请自行测试。