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

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

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

       :: 首頁(yè) :: 新隨筆 ::  :: 聚合  :: 管理
      自定義事件只是一個(gè)"特別"的ActionScript類。開發(fā)者創(chuàng)建自定義事件無(wú)外乎完成如下幾個(gè)任務(wù):繼承flash.events.Event、定義事件屬性、編寫類構(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)建自定義事件  

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


      編寫構(gòu)造器


      類當(dāng)然離不開構(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)然,如果沒有為子類編寫構(gòu)造器(不添加構(gòu)造器方法),編譯器會(huì)自動(dòng)添加一個(gè)構(gòu)造器,并且也會(huì)調(diào)用Super()。但是,我們?nèi)匀煌扑]編寫構(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ù)制自定義類的所有屬性。如果你沒有對(duì)自定義事件類中添加的所有屬性進(jìn)行賦值的話,那么當(dāng)偵聽器處理觸發(fā)的自定義事件時(shí),就不會(huì)獲得正確的屬性值。

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

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

     

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

    //name說(shuō)明了事件的名稱,而type表明了該名稱對(duì)應(yī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)建事件偵聽器

     

    主站蜘蛛池模板: 亚洲综合激情视频| 亚洲乱码国产乱码精品精| 亚洲午夜电影在线观看| 免费国产污网站在线观看15| 亚洲AV永久青草无码精品| 日本免费A级毛一片| 亚洲精品国产美女久久久| 久久成人a毛片免费观看网站| 亚洲精品高清视频| 亚洲精品在线免费观看| avtt天堂网手机版亚洲| 亚洲成在人线aⅴ免费毛片| 亚洲色大18成人网站WWW在线播放| 成人黄页网站免费观看大全| 亚洲精品亚洲人成在线| 亚洲国产精品专区在线观看| 精品国产免费一区二区三区| 亚洲AV综合色区无码一区爱AV | 亚洲国产婷婷综合在线精品| 国产高潮流白浆喷水免费A片 | 国产精品亚洲A∨天堂不卡| 97在线视频免费| 亚洲高清视频在线| 亚洲情a成黄在线观看| 91热久久免费精品99| 亚洲国产成人精品激情| 又大又硬又爽免费视频| aa在线免费观看| 亚洲小说区图片区| 免费一级毛片在线观看| 久久久精品免费视频| 亚洲日本人成中文字幕| 日韩免费无砖专区2020狼| 两性色午夜视频免费网| 国产成人精品亚洲日本在线 | 日韩亚洲人成在线综合日本| 1000部国产成人免费视频| 朝桐光亚洲专区在线中文字幕 | 亚洲综合色成在线播放| 91短视频在线免费观看| 日日躁狠狠躁狠狠爱免费视频|