as3事件訊息中心

2021-08-25 03:42:13 字數 1413 閱讀 7046

在as2.0時代,我習慣於利用乙個自定義的全域性事件管理器來管理所有的事件.這樣的好處是便於後 期**結構維護.說白了也就是偷懶...但是無論如何,我很喜歡這種方法,所以在as3裡,我比較執拗的 想實現這個全域性事件管理器.

如果說按照as2.0的思路,大致可以把事件分為三種,按鈕事件等公共事件,元件架構的事件及自定義事件.前兩者可都歸於系統事件,而我需要的管理器便是用來管理自定義事件的.於是就有了eventcenter這麼個訊息中心的公用類

**如下:

/*@author:frank

site:www.2solo.cn

date:2008.01.14

info:靜態訊息中心

*/package nt.utils

/**事件註冊

*/public static function addmyeventlistener(...args)

/**事件派發

*/public static function dispatchmyevent(type:object)

/**事件登出

*/public static function removemyeventlistener(...args) }}

/**加強event

*/import flash.events.*;

class enhancedevent extends event

/**返回附帶的乙個引數物件

*/public function get eventarg ():object

/** 過載event的tostring方法

*/public override function tostring ():string

}這裡用到的enhancedevent類是乙個event類的增強.我在

[url=

上參考了幾位朋友的方法後最終選擇用這個方法來做 為給事件傳遞中帶有引數的功能的加強手段。

方法說明:

public class eventcenter

public static function addmyeventlistener(...args) //事件註冊

public static function dispatchmyevent(type:object) //事件廣播,該方法利用乙個引數來接受事件和物件,所以需要同一引數物件名,比如這裡的asd.可以通過...(rest)進行改造,下次更新了版本會繼續發在我的blog上.

public static function removemyeventlistener(...args) //事件刪除

class enhancedevent

eventarg //enhancedevent繼承event且擁有eventarg屬性來傳遞乙個引數對 象.

附上[url=原始檔[/url]

,內含我製作的乙個應用例項.

as3按鈕事件

在剛開始學as3時,如果不知道按鈕的事件如onpress的話,實在是件很沒有頭緒的事情。在 as3.0中,所有的時間都已經被event統一管理了.相對as2.0來說,按鈕事件是在as3中變動最大的事件.在as3.0中例如onpress等以前的按鈕事件寫法已經基本退出了歷史的舞台.取而代之的是統一的管...

as3按鈕事件

在剛開始學as3時,如果不知道按鈕的事件如onpress的話,實在是件很沒有頭緒的事情。在 as3.0中,所有的時間都已經被event統一管理了.相對as2.0來說,按鈕事件是在as3中變動最大的事件.在as3.0中例如onpress等以前的按鈕事件寫法已經基本退出了歷史的舞台.取而代之的是統一的管...

as3按鈕事件

在剛開始學as3時,如果不知道按鈕的事件如onpress的話,實在是件很沒有頭緒的事情。在 as3.0中,所有的時間都已經被event統一管理了.相對as2.0來說,按鈕事件是在as3中變動最大的事件.在as3.0中例如onpress等以前的按鈕事件寫法已經基本退出了歷史的舞台.取而代之的是統一的管...