as2中 function写在mc里,如何在_root下调用?
例如在名字叫"abc"的MC里面写了一个名字叫"door"的function,现在需要在主场景_root下调用名字叫"door"的function,可是无论如何操作,都不...
例如在 名字叫"abc"的MC里面写了一个 名字叫"door" 的function ,现在需要在主场景_root下调用名字叫"door"的function ,可是无论如何操作,都不会执行,高手帮忙解决一下。
展开
2个回答
展开全部
首先,想说通过路径名+函数名是可以调用的,而且是可行的。
其次,要理解函数的执行顺寻,必须是先_root时间轴,然后才是影片剪辑的时间轴;
明白了以上两点就应该知道下面的两点:
第一,主时间轴上的函数_root.abc.door();如果和影片剪辑abc放在同一帧(不同图层只要帧数相同也算同一帧),函数不会执行;
第二,只有影片剪辑abc出现的比调用root.abc.door();早,函数才能执行,晚,或同时都不能执行。
所以,你可以先把影片剪辑放在第一帧,然后在第二帧上写函数_root.abc.door();这样就可以执行了!
说两种使用方法:
1.MC中定义函数door
_global.door=function() {
trace("MC.door");
}
在_root上第一帧加入一个剪辑mc,有没有实例名不影响
然后在后面的帧上写上
_global.door(); // 1
能正确调用;
2.直接定义MC中的door,
-root第一帧上插入mc,命名,第二帧插入mc命名同样的名字,在第二帧上写
mc.door();可以调用;这种方法需要保证命令和mc同时出现在一帧上,而且前面也必须保证出现过mc。
其次,要理解函数的执行顺寻,必须是先_root时间轴,然后才是影片剪辑的时间轴;
明白了以上两点就应该知道下面的两点:
第一,主时间轴上的函数_root.abc.door();如果和影片剪辑abc放在同一帧(不同图层只要帧数相同也算同一帧),函数不会执行;
第二,只有影片剪辑abc出现的比调用root.abc.door();早,函数才能执行,晚,或同时都不能执行。
所以,你可以先把影片剪辑放在第一帧,然后在第二帧上写函数_root.abc.door();这样就可以执行了!
说两种使用方法:
1.MC中定义函数door
_global.door=function() {
trace("MC.door");
}
在_root上第一帧加入一个剪辑mc,有没有实例名不影响
然后在后面的帧上写上
_global.door(); // 1
能正确调用;
2.直接定义MC中的door,
-root第一帧上插入mc,命名,第二帧插入mc命名同样的名字,在第二帧上写
mc.door();可以调用;这种方法需要保证命令和mc同时出现在一帧上,而且前面也必须保证出现过mc。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询