イベントを発生させるためにはdispatchEvent()を使う。
引数にはイベントオブジェクトを指定する。
たとえば、COMPLETEイベントを発生させたいときは次のような感じ。
dispatchEvent(new Event(Event.COMPLETE));
http://livedocs.adobe.com/flex/3_jp/langref/flash/events/EventDispatcher.html#dispatchEvent()
実際に試してみたコード。eventtestオブジェクトを作成し、そのオブジェクト内でフレーム数を数え120を超えたらCOMPLETEイベントを発生。それを呼び出した側で受けて画面に円を描画するというもの。
イベントを発生させるテスト - wonderfl build flash online
package { import flash.display.*; import flash.events.*; [SWF(width="465", height="465", backgroundColor="0x0", frameRate="60")] public class test extends Sprite { private var eventtest:EventTest = new EventTest(); public function test() { eventtest.addEventListener(Event.COMPLETE, complete); eventtest.start(); } public function complete(e:Event):void { graphics.beginFill(0xffffff); graphics.drawCircle(232,232,100); graphics.endFill(); } } } import flash.display.Sprite; import flash.events.Event; class EventTest extends Sprite { private var count:int = 0; public function EventTest() { } public function start():void { addEventListener(Event.ENTER_FRAME, onEnterFrame); } public function onEnterFrame(e:Event):void { count++; if(count > 120) { dispatchEvent(new Event(Event.COMPLETE)); // イベントの発生 removeEventListener(Event.ENTER_FRAME, onEnterFrame); } } }