王 菊
撫順職業(yè)技術學院(撫順 113006)
Action Script(簡稱AS)發(fā)展到今天,從 AS1.0、AS2.0一直到現(xiàn)在的AS3. 0,隨著版本的增高,其功能也越來越強。AS3.0的腳本編寫功能超越了AS的早期版本,特別是重新設計的事件處理機制,它旨在方便創(chuàng)建擁有大型數(shù)據(jù)集和面向對象的可重用代碼庫的高度復雜應用程序,非常值得深入研究。
AS3.0引入了單個事件處理模型,替換了以前版本AS中存在的不同事件處理機制。該新事件模型基于文檔對象模型(DOM3),是業(yè)界標準的事件處理體系結構。DOM3事件機制包含著 4個步驟:注冊偵聽器、發(fā)送事件、偵聽事件、移除偵聽器,這4個步驟是按順序執(zhí)行的。
DOM3事件的優(yōu)點在于,事件發(fā)送者和事件接收者的依賴性大大降低。事件發(fā)送者只需要發(fā)送事件對象,事件接收者只需要接受事件對象。事件發(fā)送者可以改變自己的外部接口,只需要確保發(fā)送的事件對象不變即可。事件接收者不關心事件發(fā)送者是否變化,只需要保證自己能夠正確處理收到的事件對象即可。
AS3. 0對所有可視化對象內建了事件機制:EventDispatcher和 IEventDispatcher是FlashPlayer內建的功能對象,負責實現(xiàn)事件模型,它們同屬于flash.events包。EventDispatcher是IEventDispatcher的一個具體實現(xiàn),提供了3個關鍵點函數(shù)來運作事件機制:addEventListener()--注冊事件監(jiān)聽器,removeEventListener()--移除事件監(jiān)聽器,dispatchEvent()--派發(fā)事件。
AS3.0事件處理過程是按照事件流的方式來處理的,事件流的處理過程分為三大階段:捕獲事件階段、目標階段和冒泡階段。
在AS3.0事件處理機制下,使用其制作全效果腳本支持動畫——煙花。
利用Flash的強大的交互功能,制作成依靠鼠標左鍵單擊事件在場景內燃放隨機顏色的煙花效果。
(1)事件:鼠標左鍵單擊 MouseEvent.MOUSE_DOWN和加載幀Event.ENTER_FRAME
(2)腳本編寫
綜上,在Flash平臺下應用設計動畫時,必須放棄在各種元件上附加AS腳本的做法只能把所有的腳本寫到幀上去。已經(jīng)習慣了AS早期版本的用戶起初會有些不適應,但是AS3.0的這種做法顯然是值得的。它使腳本代碼的書寫更有條理,功能也更加強大。AS 3.0全部采用addEventListener方法來注冊監(jiān)聽器,且監(jiān)聽器必須是函數(shù),監(jiān)聽器的作用域和監(jiān)聽器所在對象的作用域一致。
AS3. 0針對其早期版本來說,有著很大的優(yōu)勢。它統(tǒng)一使用 addEventListener()注冊偵聽事件,大大降低處理事件的難度。且其所有的可視對象都可以接受和發(fā)送事件。AS3.0的可視對象所屬類都是DisplayObject的子類,DisplayObject又是 EventDispatcher的子類。
[1]方獻梅,高曉波.AS3.0事件機制研究[J].科技信息,2009(23).
[2]王風.XML技術在 AS3.0語言編程中的應用探究[J].計算機時代,2008(11) .
[3]王壽蘋,張金玉.基于Flash CS4中AS3多媒體演示動畫的設計與實現(xiàn)[J].中國教育信息化, 2009(22) .