Flash 闪光和_根和电平-将SWF加载到另一个SWF

Flash 闪光和_根和电平-将SWF加载到另一个SWF,flash,root,levels,Flash,Root,Levels,我正在将一个旧的公式计算器加载到一个新的项目中;很简单 this.createEmptyMovieClip("calc_mc", 0); loadMovie("calc.swf", calc_mc); 一切正常……但是,这些命令清除了原始calc.swf中表单字段中的“提示” if (my_txt != null) { var mc = my_txt._name + "Hint"; if (my_txt.length > 0) { _root[mc]._v

我正在将一个旧的公式计算器加载到一个新的项目中;很简单

this.createEmptyMovieClip("calc_mc", 0);
loadMovie("calc.swf", calc_mc);
一切正常……但是,这些命令清除了原始calc.swf中表单字段中的“提示”

if (my_txt != null) {
    var mc = my_txt._name + "Hint";
    if (my_txt.length > 0) {
        _root[mc]._visible = false;
    } else {
        _root[mc]._visible = true;
    }
}
_root[this._name + "Hint"]._visible = false;

SWF本身工作正常,但一旦加载到新项目中,提示就不清楚了。我知道根在什么地方把它弄混了,但我想不出来。非常感谢

加载到新电影中后,
\u root
引用主电影根时间线,因此加载的电影上的\u root命令失败

您应该在
\u父项中更改它们。。。。。符号
例如,如果您的_root命令嵌套在加载的电影中,则可以引用root命令
作为家长。\家长

或者你可以使用这个丑陋的解决方案:

_root.calc_mc..............

有了这个,独立的swf将不再工作。

Ah,这是有道理的-因此如果我在swf B中使用_root,并将其加载到swf A level 1(“calc_mc”,1),我应该将根符号更改为_parentcorrect?-_父项[this._name+“Hint”]。_visible=false;不,这取决于根的位置。。。。指令位于:如果它位于SWF B主时间线的框架上,那么您可以使用单个_父项。如果它在SWF B电影的时间轴上,那么你必须使用_parent._parent等等。伙计,这让我发疯了-根指令存在于SWF主时间轴的动作层上…将它加载到另一个SWF的级别1中,并且更改为_parent似乎根本不会影响它。在level0中加载它真的会起作用吗?如果它位于swf的主时间轴上,那么您可以简单地删除_root前缀:使用this[this._name+“Hint”]……,因为在根时间轴上_root和this是等效的,但即使加载到另一部电影中,它也会起作用;比我列出的onSetFocus、onKillFocus事件要漂亮得多。不过,仅仅是“这个”仍然没有运气……很难排除故障,而且不会抛出错误。