Loader 載入圖檔

Loader 物件用來將 SWF 檔及影像檔 (jpg, png, gif) 等「顯示資源」載入應用程式中。 Loader 物件只能包含一個子顯示物件,這個子顯示物件就是載入的內容。載入的影像大小上限為 8,192 像素寬度或高度,且像素總計不得超過 16,777,216 像素 (因此,如果載入的影像寬度為 8,192 像素,則其高度上限為 2,048 像素) 。

Loader 類別與物件 - flash.display 套件

建構 Loader 物件

  1. import flash.display.*;
  2. import flash.net.*;
  3. var ldr:Loader=new Loader();
  4. var uriAt:URLRequest=new URLRequest(載入檔位址的字串);
  5. ldr.load(uriAt);
  6. addChild(ldr);
也可以將載入的物件轉移入顯示物件容器,如 Sprite 物件。
  1. import flash.display.*;
  2. import flash.net.*;
  3. import flash.events.*;
  4. var cont:Sprite=new Sprite();
  5. var ldr:Loader=new Loader();
  6. var uriAt:URLRequest=new URLRequest(載入檔位址的字串);
  7. ldr.load(uriAt);
  8. ldr.contentLoaderInfo.addEventListener(Event.COMPLETE,loaded);
  9. addChild(cont);
  10. function loaded(ev:Event):void{
  11. cont.addChild(ldr.content);
  12. }

Loader 的屬性與方法

Loader 繼承 DisplayObjectContainer
[屬性]
content
  • 載入檔內容的根顯示物件。
  • content:DisplayObject [唯讀]
  • var l:DisplayObject=ldr.content //將 ldr 物件載入的子物件指定給 l 物件。
contentLoaderInfo
  • 取得載入物件所對應的 LoaderInfo 物件 (loaderInfo 屬性) 。 LoaderInfo 物件包括載入進度、載入器的 URL 與載入內容、媒體總位元組數,以及媒體的表面高度和寬度等資訊。
  • contentLoaderInfo:LoaderInfo [唯讀]
  • var l:LoaderInfo=ldr.contentLoaderInfo ///將 ldr 物件載入的子物件的 LoaderInfo 屬性指定給 l 物件。
[方法]
load()
  • 執行載入作業。 Loader 物件只能包含一個子載入物件,所以如果有後續 load() 作業要求,就會終止前一個作業,重新開始。
  • public function load(request:URLRequest, context:LoaderContext = null):void
    • request : 取得載入檔位址的 URLRequest 物件。
    • context : 以 LoaderContext 物件指出對載入物件的相關驗證原則。
  • ldr.load(uriAt) // ldr 物件載入 uriAt 物件取得位址的外部檔。
loadBytes()
  • 執行載入作業。載入的物件是寄放在 ByteArray 物件中的 swf, jpg, png, gif 檔的二進位資料。
  • public function loadBytes(bytes:ByteArray, context:LoaderContext = null):void
    • bytes : 具有載入檔的二進位資料的 ByteArray 物件。
    • context : 以 LoaderContext 物件指出對載入物件的相關驗證原則。
  • ldr.loadBytes(b) // ldr 物件載入具有載入檔二進位資料的 b 物件。
unload()
  • 移除使用 load() 方法載入子物件。
  • public function unload():void
  • ldr.udload() //移除 ldr 物件載入的子物件。
unloadAndStop()
  • 移除使用 load() 或 loadBytes()方法載入 swf 子物件,並停止執行 swf 子物件中的命令。
  • public function unloadAndStop(gc:Boolean = true):void
  • ldr.unloadAndStop() //移除 ldr 物件載入的子物件。