ActionScript 3 0 事件機制小結

2022-02-22 04:56:43 字數 1902 閱讀 7863

這次先把actionscript 3.0 事件機制總結一下先吧,這裡只說一下自定義類傳送事件的3中方式,因為在設計模式中是比較常用的。例如mvc。

關於自定義事件,主要由於兩個類:事件類(event),事件傳送類(eventdispatcher)。我們討論的自定義傳送事件,就是如何使物件能夠傳送事件。

方式一:繼承eventdispatcher類

package 

private function actionh(e:event):void }

}import flash.events.event;

import flash.events.eventdispatcher;

class extendsdispatcher extends eventdispatcher

}

只要繼承eventdispatcher類,就可以直接用eventdispatcher類的方法傳送事件,方便簡單。

方式二:復合eventdispatcher物件

package 

private function show(e:event):void }

}import flash.events.event;

import flash.events.eventdispatcher;

class compont1

public function geteventdispatch():eventdispatcher

public function dosome():void

}

所謂的復合,其實就是用eventdispatcher傳送事件而已,因為eventdispatcher本身就是個事件傳送類,一般情況下,用eventdispatcher傳送事件反而會更簡單。

方式三:實現ieventdispatcher介面

package 

private function actionh(e:event):void }

}import flash.events.event;

import flash.events.eventdispatcher;

import flash.events.ieventdispatcher;

class implete implements ieventdispatcher

//實現5個方法

public function addeventlistener(type:string,listener:function,usecapture:boolean=false,priority:int=0,useweakreference:boolean=true):void

public function dispatchevent(evt:event):boolean

public function haseventlistener(type:string):boolean

public function removeeventlistener(type:string, listener:function, usecapture:boolean = false):void

public function willtrigger(type:string):boolean

}

當類本身要繼承其他類,無法繼承eventdispatcher類的時候,同時又希望這個類能夠成為乙個單純的事件傳送類,並且可以自己新增某些方法在裡面,這時候用繼承ieventdispatcher介面就比較合適了,不過過程比較麻煩寫,要實現ieventdispatcher介面的5個方法。

ActionScript 3 0工廠模式例項

研究了一段時間工廠模式,順便把書裡面的例子敲一下,大概效果就是這樣。示例效果 說明 運用了兩個工廠模式,乙個是簡單工廠 shipcreator.as 建立飛行器,乙個是工廠方法 weapon.as 建立 子彈。飛機裝載的 過於耦合,如果要開發成小遊戲,還要改善。用這個例子說明工廠方法實在適合不過,飛...

actionscript 3 0 理解冒泡事件

關於冒泡事件的理解,主要有3個階段 1.捕獲階段,eventphase的屬性值1 2.目標階段,eventphase的屬性值2 3.冒泡階段,eventphase的屬性值3 以上為黑羽所著的 actionscript3殿堂之路 中描述為。讓我們來看下面的例子 比如點選以上倒數第3個容器,事件流過程如...

ActionScript 3 0 繼承與重寫

1.繼承意味著新類看起來與原來的類相似,新類擁有與原來類相同的對外介面,或增加了一些介面。不是private的例項成員都可以被子類繼承 類的靜態成員不被子類繼承,但在子類中可以訪問父類的靜態成員。繼承用法 package 2.重寫經常要改變繼承自父類中的某個屬性或是方法中的內容,但不改變名稱,從達到...