如果你能熟練使用Flash MX 2004組件,相信你對(duì)事件監(jiān)聽(tīng)對(duì)象模型會(huì)很熟悉;如果你也知道m(xù)x.events.EventDispatcher 類(lèi)的使用方法,那么這篇文章將會(huì)非常適合你。
有了mx.events.EventDispatcher 類(lèi)我們就可以將事件監(jiān)聽(tīng)對(duì)象模型在Flash開(kāi)發(fā)的每一個(gè)地方發(fā)光發(fā)熱。使用它的好處是什么呢?就我目前所知,你能更好的控制你的程序的核心邏輯,讓你不再被復(fù)雜的邏輯處理搞得頭暈?zāi)X脹。下面以一個(gè)簡(jiǎn)單的實(shí)例來(lái)解釋怎樣使用Flash事件監(jiān)聽(tīng)對(duì)象模型開(kāi)發(fā)程序。
請(qǐng)先
[url=http://www.flashshe.com/blog/upload/eventmodel/eventmodel.rar]
下載范例文件
[/url]
,解壓縮后使用Flash MX 2004專(zhuān)業(yè)版打開(kāi),然后粗略看一下文件結(jié)構(gòu)。

About屏幕和 Contac屏幕初始是不可見(jiàn)的,可以在“屬性面板”上的“參數(shù)”選項(xiàng)卡將 visible屬性設(shè)為false。

Nav屏幕放置了三個(gè)按鈕,點(diǎn)擊按鈕將會(huì)導(dǎo)航到不同屏幕顯示不同信息。
Nav屏幕關(guān)聯(lián)的類(lèi)是 com.flashshe.Nav 如下圖:

可以在 com/flashshe目錄找到這個(gè)文件,打開(kāi)后可以看到三個(gè)按鈕被點(diǎn)擊后會(huì)廣播一個(gè)自定義事件 "navClicked"
private?function?onWelcomeBtnClicked(evt){
????dispatchEvent({type:"navClicked",detail:"welcome"});
??}
??
??private?function?onAboutBtnClicked(evt){
????dispatchEvent({type:"navClicked",detail:"about"});
??}
??
??private?function?onContactBtnClicked(evt){
????dispatchEvent({type:"navClicked",detail:"contact"});
??}
同時(shí)我加上了另外一個(gè)參數(shù)“ detail”,這個(gè)參數(shù)的作用會(huì)在后面的講解中說(shuō)明。
所有的邏輯處理放在了HandlerView屏幕。HandlerView屏幕關(guān)聯(lián)的類(lèi)是 com.flashshe.HandlerView,可以在 com/flashshe目錄找到這個(gè)文件,打開(kāi)后可以看到如下代碼:
private?function?onLoad(){
????navScreen.addEventListener("navClicked",this);
??};
上面的代碼將HandlerView屏幕注冊(cè)為navClicked事件的監(jiān)聽(tīng)器,即是說(shuō)當(dāng)我們點(diǎn)擊了Nav 屏幕的任何一個(gè)導(dǎo)航按鈕后,Nav 屏幕廣播一個(gè)navClicked事件,然后這個(gè)事件被HandlerView屏幕捕捉,接著函數(shù)navClicked()被執(zhí)行。
private?function?navClicked(evt){
????_global.visibleScreen.visible?=?false;
????
????if(evt.detail?==?"welcome")?{
??????welcomeScreen.visible?=?true;
??????_global.visibleScreen?=?welcomeScreen;
????}
????if(evt.detail?==?"about")?{
??????aboutScreen.visible?=?true;
??????_global.visibleScreen?=?aboutScreen;
本文轉(zhuǎn)自:http://www.5uflash.com/flashjiaocheng/Flashyingyongkaifa/1365.html
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
