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

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

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

    JunXiu

    getDefinitionByName 的使用方法

    介紹:

         getDefinitionByName是flash.utils下面的,屬于工具包類。正如函數(shù)名稱是通過Name來獲得該名稱所對應(yīng)的類對象,意思就是說通過一個類的名稱能夠獲取到該類對象,從而通過該類對象聲明一個該類的實例對象。注意該函數(shù)中的參數(shù)name=類路徑+類名稱。

     

    實例:

         var btncls:Class = getDefinitionByName("mx.controls.Button") as Class ;

         var myBtn:Object = new btncls() ;

         myBtn.label = "我是通過名字獲得類實例聲明出來的BTN" ;

          this.addChild( myBtn as DisplayObject ) ;

     

    應(yīng)用:

         現(xiàn)在在flex里面要用到在flash cs3 設(shè)計一批元件,當(dāng)然可以通過導(dǎo)出元件的swc然后添加到工程下面的libs下,當(dāng)需要在flex里面把這些若干元件當(dāng)成庫來獲取庫中的單個元素時,我們就可以通過geDefinitionByName函數(shù)來實現(xiàn),具體實現(xiàn)步驟為下:

         第一:在flash cs3中準(zhǔn)備好若干個元件,并為元件添加鏈接名稱(最好鏈接名稱和元件名稱一樣)。然后在場景的第一幀里面添加代碼如下:

          function getClassByName(cname:String):Class  //cname即為元件的鏈接名稱。
          {
             var mc:Class =  getDefinitionByName(cname) as Class;
             return mc;
          }

          然后生成swf。

          第二:將swf文件放入工程中,用loader將swf文件導(dǎo)入到程序中。在loader導(dǎo)入成功(觸發(fā)Event.Complete事件)后,loader.content即為swf。然后訪問對象的getClassByName()來獲取swf中的元件。存入庫中,以備后用。

          代碼如下:

          var nameArr:Array = ["燭光","菊花"] ;

          var mcArr:Array = new Array() ;

          function init():void

          {

                var loader:Loader = new Loader() ;

                loader.contentLoaderInfo.addEventLinstener( Event.COMPLETE , onComplete  ) ;

                loader.load(new URLRequest("assets/firelib.swf")) ;

           }

           function onComplete(evnet:Event):void

           {

              for(var i:uint=0 ; i<nameArr.length ; i++)

              {

                 var cls:Class = Object( event.target.content).getClassByName(nameArr[i]) ;//getClassByName()即為swf場景中定義的函數(shù)。

                 mcArr.push( { name:nameArr[i] , content:new cls() } ) ;

               }

           }

     

    延伸:

         getQualifiedClassName(value:*)String

              根據(jù)一個對象返回該對象的包含完全限定類名稱的字符串。

          getQualifiedSuperClassName(value:*)String

              根據(jù)一個對象返回該對象的基類的完全限定類名的字符串。

          在通過上面兩個方法得到一個完全限定類名稱之后,運用 getDefinitionByName()就可以將類名轉(zhuǎn)換成類應(yīng)用。

    posted on 2010-09-09 19:16 junlin 閱讀(1576) 評論(1)  編輯  收藏

    評論

    # re: getDefinitionByName 的使用方法 2012-04-17 15:36 Vector_dai

    恩恩,很實用~  回復(fù)  更多評論   


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

    <2010年9月>
    2930311234
    567891011
    12131415161718
    19202122232425
    262728293012
    3456789

    統(tǒng)計

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费无码午夜福利片69| 亚洲日韩一区二区三区| 国产成年无码久久久免费| 亚洲视频在线一区二区| 国产精品亚洲精品日韩动图| 女人18毛片免费观看| 亚洲欧美国产精品专区久久| 国产麻豆免费观看91| 婷婷国产偷v国产偷v亚洲| 日本特黄a级高清免费大片| 亚洲av无码一区二区三区四区 | 亚洲精品卡2卡3卡4卡5卡区| 中文在线观看国语高清免费| 亚洲AV无码一区二区三区系列| 香港a毛片免费观看| 亚洲最大中文字幕| 最新仑乱免费视频| AV激情亚洲男人的天堂国语| 亚洲日本一区二区一本一道| 国产免费一级高清淫曰本片| 亚洲成AV人片在线观看| 亚洲一区二区三区免费在线观看| 激情综合亚洲色婷婷五月APP| 成年在线网站免费观看无广告| jzzijzzij在线观看亚洲熟妇| 亚洲日韩VA无码中文字幕| 日本不卡免费新一区二区三区| 久久精品国产亚洲AV电影| 男人的好看免费观看在线视频| 亚洲国产精品日韩av不卡在线| 国产成人精品亚洲精品| 久久久国产精品福利免费| 亚洲va在线va天堂成人| 人人狠狠综合久久亚洲高清| 嫩草在线视频www免费观看| 亚洲精品午夜国产va久久| 亚洲国产精品碰碰| 91精品国产免费久久国语蜜臀| 亚洲aⅴ无码专区在线观看春色| 亚洲男同帅GAY片在线观看| 免费H网站在线观看的|