急求Flash AS2如何用子MC中的按钮控制父层级某帧下的某MC加载外部SWF?

FlashAS2如何用子MC中的按钮控制(这里的按钮是多个按钮组成的目录,按钮之间有滑动的动画效果,所以这些按钮的滑动效果也是一个打包好的子MC)上一层级的某一帧下的一个... Flash AS2如何用子MC中的按钮控制(这里的按钮是多个按钮组成的目录,按钮之间有滑动的动画效果,所以这些按钮的滑动效果也是一个打包好的子MC)上一层级的某一帧下的一个矩形MC加载外部同根目录下的 SWF文件?

这里比如总层级的MC名称为“aa”。
aa中的子MC(多个按钮滑的动动画)的名称为“bb”。
aa下的某一帧为第10帧,第10帧下的那个矩形MC名称为"cc",矩形大小比舞台小一半左右。
需要加载的同根目录下的外部SWF文件名称为"ee.swf"。

那么在那个某按钮上应该怎么写代码才能实现这个想法呢?
注:加载了外部的ee.swf后,只有那个矩形框里的内容会变,矩形框以外原MC的内容不能消失,舞台大小也是要保持原来大小。
急求解答!
问题补充@Many_question

你说的第二个绝对和相对路径的问题看懂了,但尚有一点不明望指点,就是这个aa MC所在的文件本身导出成SWF后,还要被另外一个目录树更大的总FLASH文件加载,那么用了绝对路径的话,这个_root的语句的按钮如果在总FALSH文件里被加载显示后点击它,这个_root所指的是原先的文件的舞台,还是会被切到这个总FLASH文件的舞台来,从而就出现错误呢?我自己测试过,好像没有出现错误问题,是否说明每个_root只是返回它本身所在的那个打包好的swf文件的舞台呢?

关于第三个问题,我做的用来加载外部ee.swf的矩形MC(cc)框的大小和那个ee.swf的舞台尺寸大小是一致的,它加载后是完全对齐与显示的,以此用来决绝位置问题。如果按你所说的做,该怎么设置ee.swf加载到aa内(aa本身不是一个矩形,是有多层多帧多动画组成的一个动画MC包),另建一个和矩形MC用来加载吗,那加载后位置怎么控制与cc(做来做遮罩)的某一角(或某一座标点)对齐。代码应该怎么写呢

我的Q:I375995O8,这里不方便也可以Q上说
展开
 我来答
Many_question
2013-10-06 · TA获得超过2853个赞
知道大有可为答主
回答量:2040
采纳率:66%
帮助的人:2351万
展开全部
首先似乎有一个矛盾,就是点击按钮的时候不一定aa恰好在第10帧,这个时候aa中不存在cc,那么如何加载呢? 是否点击按钮之后,要先跳转到第10帧呢?

撇开这个问题.要控制一个mc,关键是要能获得他的句柄,也就是这个mc对象.
你可以采取绝对路径的方式,从_root开始定位. 比如你的aa如果在主场景,那么可以写_root.aa.cc.loadMovie(..)
你也可以使用相对路径.利用_parent来获取上一层的路径,比如你的按钮在bb中,那么可以写this._parent.cc.loadMovie(..)

关于加载的问题,似乎本身没有办法限制加载的范围.我建议可以使用遮罩处理.简单的办法就是直接把ee加载到aa中去,然后设置cc为他的遮罩.
追问
第一个问题,确实是,按钮上的第一段代码写的是点击释放时跳转到_Root第10帧。代码如下,试验过是可以实现的
on (release) {
_root.gotoAndPlay(10);
}
看了你的解说,我用了以下代码觉得会科学一点,经测试也是没问题的
on (release) {
this._parent.gotoAndPlay("01子页");


另两个问题这里写不下,请看上面的问题补充
追答
_root的确是指向当前swf的主场景而已.这个没有什么太多的问题,如果子级swf想要访问父级swf,似乎需要传递一下参数.这个我没有尝试过也不清楚.

至于我说建议加载到aa里面,是因为你说为了不让ee的内容超出cc的范围. 当然,如果你本身ee在制作的时候就已经严格按照cc的尺寸去做,那么加载到cc里面也没有问题.(这里插一句,就是加载到cc里面的ee并不会受到cc原来的尺寸影响,如果ee尺寸比cc大,依然会超出原来cc的范围)
如果制作的时候ee并不是严格按照cc的尺寸,那么可以加载到aa里面的另一个MC,比如bb,然后用cc来遮罩它,实现裁剪的目的. 而对齐的问题其实很好解决,只需要简单的设置容器坐标与cc一致即可.即bb.x = cc.x,bb.y = cc.y
瘾晴败2822
2013-10-06 · TA获得超过217个赞
知道小有建树答主
回答量:553
采纳率:66%
帮助的人:629万
展开全部
  aa.bb.onPress=function(){
  aa.bb.cc.loadMovie("ee.swf",this.getNextHighestDepth())
  }‍
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式