`
ps348ps
  • 浏览: 12896 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

AS3.0 中root和parent的用法

 
阅读更多

AS3.0 中root和parent的用法
2011年01月20日
  一、首先看一下在单个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了。
  http://blog.sina.com.cn/taurusman
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics