欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

AS3.0教程:強(qiáng)大的事件機(jī)制(1)

系統(tǒng) 1611 0

Event機(jī)制作為重頭戲,在ActionScript 3.0中加強(qiáng)了很多。更加統(tǒng)一、易用、標(biāo)準(zhǔn)、靈活。
ActionScript 2.0中有眾多的事件實(shí)現(xiàn)機(jī)制:
[1b]回顧和比較[/1b]
AS1.0玩家最?lèi)?ài)用onClipEvent(), on(),又方便又直接。缺點(diǎn)在于邏輯分散到了各個(gè)舞臺(tái)元件中,難以管理和維護(hù)。更加別說(shuō)代碼重用了。別跟俺說(shuō)可以Copy, Paste,這不叫重用,這叫低級(jí)。
AS2.0中,增加了一些事件處理機(jī)制:
1.回調(diào)函數(shù): onLoad, onComplete等。相信兄弟們最熟悉的應(yīng)該就是XML.onload回調(diào)函數(shù)了。
2.事件偵聽(tīng)器型:
這個(gè)就是addListener(), addEventListener()這種類(lèi)型的。發(fā)送事件有的是內(nèi)置,有的通過(guò)dispatchEvent().
嗯,這種事件機(jī)制基本上就和AS3.0很像了。自從使用了ActionScript 2.0來(lái)開(kāi)發(fā)項(xiàng)目,[1b]
黑羽
[/1b]就盡可能的多用這種事件處理機(jī)制。這個(gè)習(xí)慣很好,基本上讓[1b]
黑羽
[/1b]對(duì)3.0的機(jī)制很快適應(yīng)過(guò)來(lái)。
說(shuō)道這里,[1b]
黑羽
[/1b]要多扯幾句2.0,抱怨一下它的不足,再讓大家看看AS3.0的光明大道。
(1).2.0中除了UIComponent能自己發(fā)送事件,絕大部分類(lèi)不能自己發(fā)送事件的,比如MovieClip, 或者一些自定義的類(lèi)。[1b]
黑羽
[/1b]還制作了一個(gè)EventSender的事件發(fā)送類(lèi)來(lái)解決。
當(dāng)然你可以通過(guò)擴(kuò)展來(lái)解決MovieClip這些類(lèi)來(lái)解決,但是在[1b]一些輕量級(jí)或者特殊運(yùn)用中[/1b],還是用[1b]
黑羽
[/1b]這個(gè)EventSender類(lèi)更加方便。
比如說(shuō),你突然需要舞臺(tái)上某個(gè)A_mc的運(yùn)行到第20幀時(shí)發(fā)送一個(gè)"finished"事件出來(lái),并且希望另外某個(gè)B_mc能夠捕捉到這個(gè)事件,那么用一般的擴(kuò)展方法不知道有多么麻煩!
(1.要重做一個(gè)帶有事件發(fā)送功能的類(lèi)和A_mc通過(guò)某種方式綁定。2.同時(shí)確保在B_mc中要能訪問(wèn)到發(fā)送事件的對(duì)象并addEventListenr)。
而用俺的EventSender類(lèi)非常簡(jiǎn)單,A_mc中寫(xiě) EventSender.send("finished", this), B_mc中寫(xiě)EventSender.addListener("finished", listenerFunc),并可以通過(guò)event.target屬性直接定位A_mc,真是簡(jiǎn)單的不能再簡(jiǎn)單了。(請(qǐng)盡量以正規(guī)方法為主,不推薦頻繁使用,不是好的編程習(xí)慣)

(2)2.0中,偵聽(tīng)器的記憶是"有毛病"的。如果是新手,會(huì)經(jīng)常覺(jué)得偵聽(tīng)器函數(shù)的this關(guān)鍵字指向飄忽不定,常常弄錯(cuò)。而且看看高手的代碼,一會(huì)兒是Object做偵聽(tīng)器,一會(huì)兒是function做偵聽(tīng)器,真是讓人頭痛。其實(shí)MacroMedia也很頭痛,所以就出了Delegate這個(gè)官方類(lèi)(補(bǔ)丁?)來(lái)解決這些問(wèn)題。
(3)偵聽(tīng)器注冊(cè)方式也有兩種,一種是addListener(),如Key,一種是addEventListener(),如UIComponent類(lèi)。為什么要這樣搞兩種?MacroMedia無(wú)辜的望著我,喃喃道偶也不完全清楚。
超人來(lái)了,那就是ActionScript 3.0事件處理機(jī)制:
(1)統(tǒng)一。全部一色用addEventListener().
(2)所有的可視對(duì)象都可以接受和發(fā)送事件。
AS3.0的類(lèi)繼承設(shè)計(jì)是深思熟慮的,所有的可視對(duì)象所屬類(lèi)都是DisplayObject的子類(lèi), DisplayObject又是EventDispatcher的子類(lèi)。因此它們就都可以玩Event了,所以說(shuō),有個(gè)好的老子就是好啊。
而且有了嶄新的事件冒泡機(jī)制,可以使事件層層上遞到最上層的Stage,絕好的功能!
有了以上兩點(diǎn):[1b]
黑羽
[/1b]的EventSender類(lèi)也可以歇菜了。
(3)偵聽(tīng)器統(tǒng)一使用Function,不再使用Object了。 同時(shí)this關(guān)鍵字的記憶力“大大增強(qiáng)”,Delegate類(lèi)也可以下崗了。
Event涉及到的內(nèi)容極多,面很廣。下面[1b]
黑羽
[/1b]將從以下幾個(gè)方面講起:
一、如何接收事件?如何做到AS3.0的標(biāo)準(zhǔn)事件編程。
二、如何發(fā)送自定義事件?如何在OOP中正確使用AS3.0強(qiáng)大靈活的事件架構(gòu)。
三種方式及其優(yōu)劣,以及在何種情況下使用。
(1)用繼承EventDispatcher實(shí)現(xiàn)
(2)用復(fù)合EventDispatcher實(shí)例來(lái)實(shí)現(xiàn)。
(3)用接口IEventDispatcher實(shí)現(xiàn)
三、如何使用冒泡機(jī)制(即官方所稱的Event Flow機(jī)制)?以及冒泡機(jī)制的原理。
四、Event的其他高級(jí)應(yīng)用。
本文轉(zhuǎn)自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/1761.html

AS3.0教程:強(qiáng)大的事件機(jī)制(1)


更多文章、技術(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ì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 女人a级毛片19毛水真多 | 亚洲123 | 91成人精品 | 亚洲经典在线中文字幕 | 亚洲午夜精品视频 | 欧美午夜在线 | 五月天综合网 | 欧美久草 | 日韩不卡在线 | 亚洲成人黄色在线 | 精品国产一区二区三区久久久久久 | 久久久久国产精品免费免费搜索 | 色综合久久综合网 | 在线看免电影网站 | 99re视频在线观看 | 东京一热本色道久久爱 | 国产一区二区三区在线视频 | 色狠狠婷婷97 | 人人干人人干人人干 | 成人毛片免费视频播放 | 欧美久久久无码精品亚洲日韩小说 | 天天综合网在线 | 日韩毛片欧美一级a网站 | 日韩av在线中文字幕 | 亚洲视频不卡 | 国产a视频 | 天天操夜操 | 中文字幕在线一区二区三区 | 日本免费成人 | 国产精品免费在线播放 | av毛片| 黄免费看| 午夜国产在线视频 | 国产精品色 | 国产aⅴ一区二区三区 | 色播视频在线播放 | 国产女人与拘做受视频 | 亚洲欧美日韩中文不卡 | 浮力影院国产第一页 | 久久久久久91香蕉国产 | 国产成人精品永久免费视频 |