我在这个网站上浏览了类似的问题,找不到解决方案,所以这是我的问题:
我有一个保存功能,可以保存一些数据。此功能在另一个影片剪辑的一个影片剪辑中。保存后,我想转到主时间轴的totoAndStop(1),而不是当前嵌套的那个...有人可以帮忙吗?
下面是代码:
function save()
{
var oldname:String = so.data.username;
so.data.username = oldname + tf.text + " " + nf.text + "\n";
tf.text = "";
nf.text = ""; // resets textfields
so.flush(); // writes changes to disk
trace("Saved");
gotoAndStop(1); <<----this must goto frame 1 of the main time line??
}
这是AS3。在AS2中,我曾经能够调用_root。或_parent。它将正常工作,但现在会引发编译器错误。 Stage.gotoAndStop(1);也行不通...
感谢任何帮助,
提前致谢
鲁本
最佳答案
您可以使用DisplayObject
访问最上面的root
。由于DisplayObject
没有gotoAndStop()
方法,因此尝试root.gotoAndStop()
将导致:
1061:通过静态类型为flash.display:DisplayObject的引用调用可能未定义的方法gotoAndStop。
但是,您可以typecast root
到MovieClip
1,这将授予对该文件的访问权限:
MovieClip(root).gotoAndStop(1); // or:
(root as MovieClip).gotoAndStop(1);
类型转换为
MovieClip
还将允许您在主时间轴上访问用户定义的属性和函数-这是因为MovieClips是dynamic
,这会降低编译时对允许访问对象的属性和方法的约束。1除非您的文档类继承了
Sprite
而不是MovieClip
。关于actionscript-3 - 从影片剪辑内的影片剪辑内,AS3 Flash调用主时间轴,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7074417/