分享

FLEX 4 动态加载背景图片 BackgroundImage

 Sky-Cool 2012-07-11
最近研究FLEX 4动态加载背景图片,发现没有效率比较好的方法,贴贴自己搜集、研究的认为效率好点的代码~~~
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
  3.                                            xmlns:s="library://ns.adobe.com/flex/spark"
  4.                                            xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="init()" width="320" height="240">

  5.         <fx:Script>
  6.                 <![CDATA[
  7.                         import mx.core.UIComponent;
  8.                        
  9.                         import spark.events.IndexChangeEvent;
  10.                        
  11.                        
  12.                         private var skinsLoader:Loader;
  13.                         private var defaultSkinSrc:String = '1.png';                       
  14.                         private var skinUi:UIComponent = null;
  15.                        
  16.                        
  17.                         private function init():void
  18.                         {
  19.                                 imgLoader(defaultSkinSrc);
  20.                         }
  21.                        
  22.                         protected function dropdownlist1_changeHandler(event:IndexChangeEvent):void
  23.                         {
  24.                                 imgLoader(DropDownList(event.currentTarget).selectedItem);
  25.                         }
  26.                        
  27.                         public function imgLoader(imgPath:String):void
  28.                         {
  29.                                 skinsLoader = new Loader;
  30.                                 skinsLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,imgLoaderComplete);
  31.                                 skinsLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,imgIOErrorHandler);
  32.                                 var urlRequest:URLRequest = new URLRequest();
  33.                                 urlRequest.url = "images/"+imgPath;       
  34.                                 skinsLoader.load(urlRequest);
  35.                         }

  36.                         private function imgLoaderComplete(event:Event):void
  37.                         {
  38.                                 var bitmap:Bitmap = event.target.content as Bitmap;
  39.                                 bitmap.width = stage.stageWidth, bitmap.height = stage.stageHeight;
  40.                                 if(skinUi)
  41.                                 {
  42.                                         removeElement(skinUi);
  43.                                         skinUi = null;
  44.                                 }
  45.                                 skinUi = new UIComponent();
  46.                                 skinUi.addChild(bitmap);
  47.                                 addElementAt(skinUi,0);
  48.                                
  49.                                 //-------------------
  50.                                 skinsLoader.contentLoaderInfo.removeEventListener (Event.COMPLETE , imgLoaderComplete);
  51.                                 skinsLoader.contentLoaderInfo.removeEventListener (IOErrorEvent.IO_ERROR , imgIOErrorHandler);
  52.                                 skinsLoader = null;
  53.                         }
  54.                         private function imgIOErrorHandler(event:IOErrorEvent):void
  55.                         {
  56.                                 trace(event.text);
  57.                         }
  58.                        
  59.                 ]]>
  60.         </fx:Script>

  61.         <fx:Declarations>
  62.                 <!-- Place non-visual elements (e.g., services, value objects) here -->
  63.         </fx:Declarations>
  64.         <s:Label text="选择皮肤:" fontSize="16"  x="50" y="104" height="21"/>
  65.         <s:DropDownList x="137" y="103" change="dropdownlist1_changeHandler(event)" >
  66.                 <s:dataProvider>
  67.                         <s:ArrayList source="[1.png,2.png,3.png,4.png,5.png,6.png]" />
  68.                 </s:dataProvider>
  69.         </s:DropDownList>
  70. </s:WindowedApplication>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多