0

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

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 本身可以正常工作,但是一旦将其加载到新项目中,提示就不清楚了。我知道 _root 在某处乱码,但我无法弄清楚。非常感激。

4

1 回答 1

1

在新电影中加载后,将_root引用主电影根时间线,因此您的 _root 命令在加载的电影上失败。

你应该用_parent.....符号来改变它们。例如,如果您的 _root 命令是嵌套在加载的电影中的 2 级,您可以将 root 称为_parent._parent

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

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

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

于 2011-10-05T17:46:33.150 回答