在每个子swf结束时,我想在AIR应用程序中触发它们已经完成播放。
我已经能够在AIR应用程序文档类中添加加载这些事件监听器(Enter Frame),但这会嚼掉cpu。
我能以其他方式做到吗?这是我对customEvents的尝试,但没有任何事情发生。
有什么想法吗?
CustomEvent.as
package com.net {
import flash.events.*;
public class CustomEvent extends Event {
// define variables
public static const GOTEM:String = "gotEm";
public function CustomEvent(type:String, bubbles:Boolean=true, cancelable:Boolean=false) {
super(type, bubbles, cancelable);
}
//in case of redispatch
public override function clone():Event{
return new CustomEvent(type, bubbles, cancelable);
}
}
}
在AIR APP中:
stage.addEventListener("gotEm", swfFinished);
在子SWF中:
stage.dispatchEvent(new CustomEvent(CustomEvent.GOTEM));
提前感谢任何建议和想法。
答案 0 :(得分:1)
您可以从您的子swf中发送自定义事件,而不是收听Event.ENTER_FRAME
:
dispatchEvent(new Event("childComplete"));
然后,您只能在AIR应用中监听该事件。