<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

       :: 首頁(yè) :: 新隨筆 ::  :: 聚合  :: 管理
      自定義事件只是一個(gè)"特別"的ActionScript類。開(kāi)發(fā)者創(chuàng)建自定義事件無(wú)外乎完成如下幾個(gè)任務(wù):繼承flash.events.Event、定義事件屬性、編寫(xiě)類構(gòu)造器、重載clone方法。

    一 繼承Event帶參數(shù)自定義事件

      1.創(chuàng)建AS事件類SwitchLightEvent


      2.創(chuàng)建事件觸發(fā)組件LightConsole


      3.創(chuàng)建應(yīng)用CustomTraficLight



    創(chuàng)建自定義事件5個(gè)步驟

    1.使用ActionScript創(chuàng)建自定義事件  

      定義屬性
      開(kāi)發(fā)者通常希望"消息"能夠攜帶更多的信息,提供更多的數(shù)據(jù)。在自定義事件中,通過(guò)定義屬性,可以讓事件攜帶更多的信息。


      編寫(xiě)構(gòu)造器


      類當(dāng)然離不開(kāi)構(gòu)造器。事件類的構(gòu)造器要完成兩項(xiàng)任務(wù)。

      (1). 調(diào)用Super()

      通過(guò)Super()調(diào)用父類的構(gòu)造器,以初始化從父類繼承的屬性等。通常情況下,子類構(gòu)造器應(yīng)該首先調(diào)用Super()方法。當(dāng)然,如果沒(méi)有為子類編寫(xiě)構(gòu)造器(不添加構(gòu)造器方法),編譯器會(huì)自動(dòng)添加一個(gè)構(gòu)造器,并且也會(huì)調(diào)用Super()。但是,我們?nèi)匀煌扑]編寫(xiě)構(gòu)造器,并且顯式地調(diào)用Super()方法。


      (2). 設(shè)置屬性


      事件類型是最常用到的事件屬性。Super()可以接受String類型的參數(shù),由此設(shè)置父類事件中繼承來(lái)的事件類型屬性(event.type)。

    除了事件類型外,事件的其他自定義屬性可以作為構(gòu)造器的參數(shù)傳入,在構(gòu)造器中完成初始化。更靈活的是,這些屬性類型不僅僅局限于String、Number等基本類型,還可以是任何自定義類。


      重載clone方法


      創(chuàng)建自定義事件的最后一步是重載父類的clone方法,返回新的Event對(duì)象。當(dāng)觸發(fā)事件時(shí),即dispatchEvent(event)時(shí),EventDispatcher會(huì)自動(dòng)調(diào)用clone方法獲取新的Event對(duì)象。

    重載clone方法將復(fù)制自定義類的所有屬性。如果你沒(méi)有對(duì)自定義事件類中添加的所有屬性進(jìn)行賦值的話,那么當(dāng)偵聽(tīng)器處理觸發(fā)的自定義事件時(shí),就不會(huì)獲得正確的屬性值。

    2.使用元數(shù)據(jù)[Event]定義事件

      通過(guò)[Event]元數(shù)據(jù),開(kāi)發(fā)者可以為組件定義事件。編譯器能夠把這些自定義的事件識(shí)別為MXML標(biāo)簽屬性。使用[Event]既可以為ActionScript組件定義事件,也可以為MXML組件定義事件。
       

     

    //[Event(name="eventName",type="package.eventType")] 

    //name說(shuō)明了事件的名稱,而type表明了該名稱對(duì)應(yīng)的事件類型。事件偵聽(tīng)器使用name進(jìn)行注冊(cè)。

     


      為ActionScript組件定義事件


    //[Event]元數(shù)據(jù)必須置于包(package)定義之內(nèi),類(class)定義之上
                
                
    package events{
                    
                    [Event(name
    ="sampleEvent", type="myEvents.SampleEvent")]
                    
                    
    public class MyComponent extends UIComponent{
                        
    //
                    }
                }

     


      為MXML組件定義事件

    <fx:Metadata>
            [Event(name="SwitchLightEvent", type="CustomTraficLight.events.SwitchLightEvent")]
        
    </fx:Metadata>


    3.觸發(fā)事件

    4.創(chuàng)建事件偵聽(tīng)器

     

    主站蜘蛛池模板: 天天天欲色欲色WWW免费| 国产亚洲精品xxx| 亚洲欧美日韩中文字幕在线一区| 久久综合给合久久国产免费| 久久精品亚洲男人的天堂| 特黄aa级毛片免费视频播放| 日本成人在线免费观看| 亚洲国产精品无码久久| 女人18毛片a级毛片免费视频| 亚洲精品二三区伊人久久| 91在线品视觉盛宴免费| 亚洲春色另类小说| 2021精品国产品免费观看| 亚洲狠狠ady亚洲精品大秀| 亚洲第一极品精品无码久久| 亚洲综合激情五月色一区| 成人毛片免费播放| 亚洲精品无码aⅴ中文字幕蜜桃| 妞干网在线免费观看| 亚洲AV综合色区无码一二三区| 日本一道一区二区免费看| 国产亚洲精品美女久久久久久下载| 免费h黄肉动漫在线观看| 一级毛片大全免费播放下载| 免费观看国产精品| 国产vA免费精品高清在线观看| 国产午夜亚洲精品理论片不卡| a毛片免费观看完整| 亚洲天堂男人天堂| 99久久久国产精品免费无卡顿| 2017亚洲男人天堂一| 在线观看亚洲免费| 一个人免费观看日本www视频| 亚洲午夜久久久久久久久电影网| 黄网站色视频免费在线观看的a站最新 | 亚洲乱码无码永久不卡在线| 久久成人免费播放网站| 亚洲第一页中文字幕| 亚洲日本在线观看视频| 中文字幕日本人妻久久久免费| 2022年亚洲午夜一区二区福利|