開個新的 fla 輸入以下的程式:
this.addEventListener(MouseEvent.CLICK, mouseClick);
function mouseClick(e:MouseEvent):void{
trace("test");
}
this.dispatchEvent(new Event("click"));
執行後會得到
TypeError: Error #1034: 強制轉型失敗: 無法將 flash.events::Event@aa93821 轉換成 flash.events.MouseEvent。
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at _fla::MainTimeline/frame1()
這個故事告訴我們
不同的eventType 使用相同的 eventName 會死
意思是當想要使用 this.dispatchEvent 之前
必須先了解 this 會丟出的 event 已經有哪些