从嵌套的影片剪辑调用 .as 文件中的函数

Calling a function in a .as file from a nested movieclip

我知道这个问题有很多变体,但我找不到适合我的答案。

具体来说,我在 .as 文件中有一些简单的函数。我已经使用了#include,我可以从主时间轴调用这些函数,但我似乎无法从嵌套的动画片段的时间轴调用它们。

我在主时间轴上的动画片段中有一个动画片段。如何访问 .as 文件中的函数?

我试过 this.parent.parent.parent.function() 和 _root.parent.parent.function() 但都没有用。

这些功能通过 Scaleform 链接到游戏引擎,所以我宁愿不使用 类,因为这会使事情变得复杂。出于同样的原因,我使用的是 AS2,而不是 AS3(游戏引擎附带的 Scaleform 版本不支持 AS2)。

非常感谢。

我认为你可以简单地使用:

_root.your_function();

或者如果您的 MovieClip 直接在主时间轴中使用:

this._parent.your_function();

还有这里不要忘记在AS2中,我们使用_parent获取当前对象的父对象

您可以使用此方法获取父级中所有可用的包含函数:

for(var element in this._parent){
    if(typeof this._parent[element] == 'function'){
        trace(element + ' : ' + this._parent[element]);
    }
}

希望能帮到你。