Actionscript 实例上的addFrameScript存在问题
我正在尝试通过以下方式添加帧脚本:Actionscript 实例上的addFrameScript存在问题,actionscript,label,frame,Actionscript,Label,Frame,我正在尝试通过以下方式添加帧脚本: private function addFrameScript(mc:MovieClip, label:String, func:Function, arg:*):void { var labels:Array = mc.currentLabels; var i:int = labels.length; while (--i > -1) { if (FrameLabel(labels[i]).name == la
private function addFrameScript(mc:MovieClip, label:String, func:Function, arg:*):void {
var labels:Array = mc.currentLabels;
var i:int = labels.length;
while (--i > -1) {
if (FrameLabel(labels[i]).name == label) {
mc.addFrameScript(FrameLabel(labels[i]).frame-1, func(arg));
return;
}
}
trace("WARNING: The label '" + label + "' does not exist in the MovieClip '" + mc.name + "'");
}
private function dispatchFrameEvent(labelName:String):void {
dispatchEvent(new Event(labelName, true));
}
addFrameScript(instanceName, "end", dispatchFrameEvent, "end");
但它似乎没有增加,我也不明白为什么。通常,我会将框架脚本添加到主时间线上,但不会添加到时间线上的实例(如上面的示例所示)
很明显,我遗漏了一些东西……有没有办法追踪我的框架脚本,看看它是否被添加了?这里的问题是添加的addFrameScript函数不带参数。因此,无论传递什么func,都必须返回一个没有参数的函数 因此,您的dispatchFrameEvent应该如下所示
private function dispatchFrameEvent(labelName:String):Function {
return function func():void{
dispatchEvent(new Event(labelName, true));
}
}