从嵌套的影片剪辑调用 .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]);
}
}
希望能帮到你。
我知道这个问题有很多变体,但我找不到适合我的答案。
具体来说,我在 .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]);
}
}
希望能帮到你。