FLASH AS3 如何控制父级影片中的元件
问个问题啊,AS3,A.SWF中加载了B.SWF现在想要通过B.SWF里面的一个语句来控制A.SWF中的一个原件层级关系该怎么写啊?在AS3中如何实现AS2中的ROOT和...
问个问题啊,AS3,A.SWF中加载了B.SWF现在想要通过B.SWF里面的一个语句来控制A.SWF中的一个原件层级关系该怎么写啊?在AS3中如何实现AS2中的ROOT和PARENT的效果?谢谢啊!
展开
3个回答
2012-02-03
展开全部
as3一样是使用 parent["元件名"] 来控制
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
镭速传输
2024-10-28 广告
2024-10-28 广告
作为深圳市云语科技有限公司的工作人员,我们提供高效的数据传输解决方案,以替代Serv-U。我们的方案基于镭速(Raysync)传输引擎,支持大文件高速传输,具备断点续传、错误重传等功能,确保数据完整性和传输效率。同时,我们注重安全性,提供传...
点击进入详情页
本回答由镭速传输提供
展开全部
一、首先看一下在单个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
在主舞台上的帧上写下如下代码:
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
跟AS2差不多的操作就是 b_MC.parent进行操作就可以~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询