【转】 AS3.0 中root和parent的用法

本文详细介绍了AS3中root和parent的使用方法,包括在单个swf文件中的应用以及两个swf文件之间的交互。通过示例代码,解释了如何通过root和parent访问不同层级的对象属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【转】 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的用法)已经说过了
一、综合实战—使用极轴追踪方式绘制信号灯 实战目标:利用对象捕捉追踪极轴追踪功能创建信号灯图形 技术要点:结合两种追踪方式实现精确绘图,适用于工程制图中需要精确定位的场景 1. 切换至AutoCAD 操作步骤: 启动AutoCAD 2016软件 打开随书光盘中的素材文件 确认工作空间为"草图与注释"模式 2. 绘图设置 1)草图设置对话框 打开方式:通过"工具→绘图设置"菜单命令 功能定位:该对话框包含捕捉、追踪等核心绘图辅助功能设置 2)对象捕捉设置 关键配置: 启用对象捕捉(F3快捷键) 启用对象捕捉追踪(F11快捷键) 勾选端点、中心、圆心、象限点等常用捕捉模式 追踪原理:命令执行时悬停光标可显示追踪矢量,再次悬停可停止追踪 3)极轴追踪设置 参数设置: 启用极轴追踪功能 设置角度增量为45度 确认后退出对话框 3. 绘制信号灯 1)绘制圆形 执行命令:"绘图→圆→圆心、半径"命令 绘制过程: 使用对象捕捉追踪定位矩形中心作为圆心 输入半径值30并按Enter确认 通过象限点捕捉确保圆形位置准确 2)绘制直线 操作要点: 选择"绘图→直线"命令 捕捉矩形上边中点作为起点 捕捉圆的上象限点作为终点 按Enter结束当前直线命令 重复技巧: 按Enter可重复最近使用的直线命令 通过圆心捕捉极轴追踪绘制放射状直线 最终形成完整的信号灯指示图案 3)完成绘制 验证要点: 检查所有直线是否准确连接圆心象限点 确认极轴追踪的45度增量是否体现 保存绘图文件(快捷键Ctrl+S)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值