我必须调用在项目主阶段定义的函数,我必须从MovieClip调用它,我该怎么办? 我正在使用flash cs5.5和AS3.0
答案 0 :(得分:4)
当我阅读你的问题时,听起来好像你在主时间轴的动作框架中定义了一个功能。
对于您当前的项目,我的答案可能无法实现,ToddBFisher的答案是完全正确的。那就是说 - 我将以不同的方式回答这个问题。
不是在主时间轴上定义函数,而是设置文档类,在那里定义函数,并在代码中访问类的函数。保留尽可能多的时间码。
文档类示例的可下载文件:http://www.isgoodstuff.com/2008/06/06/actionscript-30-documentclass-in-plain-english/
设置AS3课程:http://www.adobe.com/devnet/flash/quickstart/creating_class_as3.html
答案 1 :(得分:3)
有多种方法可以从舞台上的对象访问MainTimeline。可能最可靠的是'root',但也有'parent'(但只有当你的MovieClip是主时间轴的直接子项时)。
// root should always work
Object(root).myFunc();
// parent will only work if your movieclip is a direct child of the main timeline
Object(parent).myFunc();
请注意,您必须转换这些通用对象(或MovieClip可以工作),因为它们返回的类型类中没有“myFunc”函数。
您需要在主时间轴上使用此代码:
function myFunc():void {
trace("My function got called!");
}
答案 2 :(得分:0)
假设您的影片剪辑是主舞台的直接子节目,您可以在影片剪辑中执行以下操作:
MovieClip(parent).theFunctionToCall();
答案 3 :(得分:0)
如果你的MovieClip有一个类,只需使用like:
将它添加到你的主类var m:MovieClip = new MovieClip(); **的addChild(米); 强>
然后您可以访问它的公共函数,如输入:
m。“功能名称”;