パッケージflash.display
public class Loader
継承Loader Inheritance DisplayObjectContainer Inheritance InteractiveObject Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object

Loader クラスは、SWF ファイルまたはイメージ (JPG、PNG、または GIF) ファイルをロードするために使用します。ロードを開始するには load() メソッドを使用します。ロードされた表示オブジェクトは Loader オブジェクトの子として追加されます。

テキストまたはバイナリデータをロードするには URLLoader クラスを使用します。

Loader クラスは、継承する次のメソッドをオーバーライドします。これは、Loader オブジェクトが持つことができるのは 1 つの子表示オブジェクト、つまりロードするオブジェクトに限られているためです。次のメソッドを呼び出すと例外がスローされます。addChild()addChildAt()removeChild()removeChildAt()、および setChildIndex()。ロードされた表示オブジェクトを削除するには、親の DisplayObjectContainer 子配列から Loader オブジェクトを削除する必要があります。

メモ: ActionScript 2.0 の MovieClipLoader クラスと LoadVars クラスは、ActionScript 3.0 では使用されません。それらは、Loader クラスと URLLoader クラスに置き換えられました。

Loader クラスを使用するときは、Flash Player セキュリティモデルを考慮してください。

詳細については、次のトピックを参照してください。

信頼されていないソース (Loader オブジェクトのルート SWF ファイルのドメイン以外のドメインなど) から SWF ファイルをロードする場合は、次のコードに示すように、Loader オブジェクトに対してマスクを定義して、ロードされたコンテンツ (Loader オブジェクトの子) がそのマスクの外部にあるステージの一部分に描画されないようにすることができます。

import flash.display.*;
 import flash.net.URLRequest;
 var rect:Shape = new Shape();
 rect.graphics.beginFill(0xFFFFFF);
 rect.graphics.drawRect(0, 0, 100, 100);
 rect.graphics.endFill();
 addChild(rect);
 var ldr:Loader = new Loader();
 ldr.mask = rect;
 var url:String = "http://www.unknown.example.com/content.swf";
 var urlReq:URLRequest = new URLRequest(url);
 ldr.load(urlReq);
 addChild(ldr);
 

例の表示

関連項目

flash.display.LoaderInfo
flash.net.URLLoader
flash.display.DisplayObject
表示アーキテクチャについて
コンテンツの動的ロード


パブリックプロパティ
 プロパティ定義
 InheritedaccessibilityProperties : AccessibilityProperties
この表示オブジェクトの現在のアクセシビリティオプションです。
DisplayObject
 Inheritedalpha : Number
指定されたオブジェクトのアルファ透明度値を示します。
DisplayObject
 InheritedblendMode : String
使用するブレンドモードを指定する BlendMode クラスの値です。
DisplayObject
 InheritedcacheAsBitmap : Boolean
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash Player にキャッシュされます。
DisplayObject
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  content : DisplayObject
[read-only] load() メソッドを使用してロードされた SWF ファイルまたはイメージ (JPG、PNG、または GIF) ファイルのルート表示オブジェクトが含まれます。
Loader
  contentLoaderInfo : LoaderInfo
[read-only] ロードされているオブジェクトに対応する LoaderInfo オブジェクトを返します。
Loader
 InheritedcontextMenu : ContextMenu
このオブジェクトに関連付けられたコンテキストメニューを指定します。
InteractiveObject
 InheriteddoubleClickEnabled : Boolean
オブジェクトが doubleClick イベントを受け取るかどうかを指定します。
InteractiveObject
 Inheritedfilters : Array
表示オブジェクトに現在関連付けられている各フィルタオブジェクトが格納されているインデックス付きの配列です。
DisplayObject
 InheritedfocusRect : Object
このオブジェクトがフォーカス矩形を表示するかどうかを指定します。
InteractiveObject
 Inheritedheight : Number
表示オブジェクトの高さを示します (ピクセル単位)。
DisplayObject
 InheritedloaderInfo : LoaderInfo
この表示オブジェクトが属するファイルのロード情報を含む LoaderInfo オブジェクトを返します。
DisplayObject
 Inheritedmask : DisplayObject
呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。
DisplayObject
 InheritedmouseChildren : Boolean
オブジェクトの子に対してマウスが有効かどうかを調べます。
DisplayObjectContainer
 InheritedmouseEnabled : Boolean
このオブジェクトがマウスメッセージを受け取るかどうかを指定します。
InteractiveObject
 InheritedmouseX : Number
マウス位置の x 座標を示します (ピクセル単位)。
DisplayObject
 InheritedmouseY : Number
マウス位置の y 座標を示します (ピクセル単位)。
DisplayObject
 Inheritedname : String
DisplayObject のインスタンス名を示します。
DisplayObject
 InheritednumChildren : int
このオブジェクトの子の数を返します。
DisplayObjectContainer
 InheritedopaqueBackground : Object
表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。
DisplayObject
 Inheritedparent : DisplayObjectContainer
この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。
DisplayObject
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
 Inheritedroot : DisplayObject
ロードされた SWF ファイル内の表示オブジェクトの場合、root プロパティはその SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。
DisplayObject
 Inheritedrotation : Number
DisplayObject インスタンスの元の位置からの回転角を度単位で示します。
DisplayObject
 Inheritedscale9Grid : Rectangle
現在有効な拡大 / 縮小グリッドです。
DisplayObject
 InheritedscaleX : Number
基準点から適用されるオブジェクトの水平スケール (percentage) を示します。
DisplayObject
 InheritedscaleY : Number
オブジェクトの基準点から適用されるオブジェクトの垂直スケール (percentage) を示します。
DisplayObject
 InheritedscrollRect : Rectangle
表示オブジェクトのスクロール矩形の境界。
DisplayObject
 Inheritedstage : Stage
表示オブジェクトのステージ。
DisplayObject
 InheritedtabChildren : Boolean
オブジェクトの子に対してタブが有効かどうかを調べます。
DisplayObjectContainer
 InheritedtabEnabled : Boolean
このオブジェクトがタブ順序序に含まれるかどうかを指定します。
InteractiveObject
 InheritedtabIndex : int
SWF ファイル内のオブジェクトのタブ順序を指定します。
InteractiveObject
 InheritedtextSnapshot : TextSnapshot
この DisplayObjectContainer インスタンスの TextSnapshot オブジェクトを返します。
DisplayObjectContainer
 Inheritedtransform : Transform
表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。
DisplayObject
 Inheritedvisible : Boolean
表示オブジェクトが可視かどうかを示します。
DisplayObject
 Inheritedwidth : Number
表示オブジェクトの幅を示します (ピクセル単位)。
DisplayObject
 Inheritedx : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。
DisplayObject
 Inheritedy : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。
DisplayObject
パブリックメソッド
 メソッド定義
  Loader()
SWF、JPEG、GIF、または PNG ファイルなどのファイルをロードするのに使用できる Loader オブジェクトを作成します。
Loader
 InheritedaddChild(child:DisplayObject):DisplayObject
この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。
DisplayObjectContainer
 InheritedaddChildAt(child:DisplayObject, index:int):DisplayObject
この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。
DisplayObjectContainer
 InheritedaddEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
 InheritedareInaccessibleObjectsUnderPoint(point:Point):Boolean
特定の point ポイントを指定して呼び出した DisplayObjectContainer.getObjectsUnderPoint() メソッドから返されたリストに、セキュリティ上の制約のために省略される表示オブジェクトがあるかどうかを示します。
DisplayObjectContainer
  close():void
Loader インスタンスに対して現在進行中の load() メソッドの処理をキャンセルします。
Loader
 Inheritedcontains(child:DisplayObject):Boolean
指定された表示オブジェクトが、DisplayObjectContainer インスタンスの子であるか、インスタンス自体であるかを指定します。
DisplayObjectContainer
 InheriteddispatchEvent(event:Event):Boolean
イベントをイベントフローに送出します。
EventDispatcher
 InheritedgetBounds(targetCoordinateSpace:DisplayObject):Rectangle
targetCoordinateSpace オブジェクトの座標系を基準にして、表示オブジェクトの領域を定義する矩形を返します。
DisplayObject
 InheritedgetChildAt(index:int):DisplayObject
指定のインデックス位置にある子表示オブジェクトインスタンスを返します。
DisplayObjectContainer
 InheritedgetChildByName(name:String):DisplayObject
指定された名前に一致する子表示オブジェクトを返します。
DisplayObjectContainer
 InheritedgetChildIndex(child:DisplayObject):int
child DisplayObject インスタンスのインデックス位置を返します。
DisplayObjectContainer
 InheritedgetObjectsUnderPoint(point:Point):Array
指定されたポイントの下にあり、この DisplayObjectContainer インスタンスの子または孫などであるオブジェクトの配列を返します。
DisplayObjectContainer
 InheritedgetRect(targetCoordinateSpace:DisplayObject):Rectangle
シェイプ上の線を除き、targetCoordinateSpace パラメータによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。
DisplayObject
 InheritedglobalToLocal(point:Point):Point
point オブジェクトをステージ (グローバル) 座標から表示オブジェクトの (ローカル) 座標に変換します。
DisplayObject
 InheritedhasEventListener(type:String):Boolean
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 InheritedhasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 InheritedhitTestObject(obj:DisplayObject):Boolean
表示オブジェクトを評価して、obj 表示オブジェクトと重複または交差するかどうかを調べます。
DisplayObject
 InheritedhitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
表示オブジェクトを評価して、x および y パラメータで指定されたポイントと重複または交差するかどうかを調べます。
DisplayObject
 InheritedisPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
  load(request:URLRequest, context:LoaderContext = null):void
SWF、JPEG、プログレッシブ JPEG、非アニメーション GIF、または PNG ファイルを、この Loader オブジェクトの子であるオブジェクトにロードします。
Loader
  loadBytes(bytes:ByteArray, context:LoaderContext = null):void
ByteArray オブジェクトに保管されているバイナリデータからロードします。
Loader
 InheritedlocalToGlobal(point:Point):Point
point オブジェクトを表示オブジェクトの (ローカル) 座標からステージ (グローバル) 座標に変換します。
DisplayObject
 InheritedpropertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
Object
 InheritedremoveChild(child:DisplayObject):DisplayObject
DisplayObjectContainer インスタンスの子リストから指定の child DisplayObject インスタンスを削除します。
DisplayObjectContainer
 InheritedremoveChildAt(index:int):DisplayObject
DisplayObjectContainer の子リストの指定された index 位置から子 DisplayObject を削除します。
DisplayObjectContainer
 InheritedremoveEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
 InheritedsetChildIndex(child:DisplayObject, index:int):void
表示オブジェクトコンテナの既存の子の位置を変更します。
DisplayObjectContainer
 InheritedsetPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 InheritedswapChildren(child1:DisplayObject, child2:DisplayObject):void
指定された 2 つの子オブジェクトの z 順序 (重ね順) を入れ替えます。
DisplayObjectContainer
 InheritedswapChildrenAt(index1:int, index2:int):void
子リスト内の指定されたインデックス位置に該当する 2 つの子オブジェクトの z 順序 (重ね順) を入れ替えます。
DisplayObjectContainer
 InheritedtoString():String
指定されたオブジェクトのストリング表現を返します。
Object
  unload():void
load() メソッドを使用してロードされた、この Loader オブジェクトの子を削除します。
Loader
 InheritedvalueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
Object
 InheritedwillTrigger(type:String):Boolean
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント一覧定義
 Inheritedactivate Flash Player がオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。DisplayObject
 Inheritedadded 表示オブジェクトが表示リストに追加されたときに送出されます。DisplayObject
 Inheritedclick ユーザーが同じ InteractiveObject 上でポインティングデバイスのメインボタンを押して離すと送出されます。InteractiveObject
 Inheriteddeactivate Flash Player がオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。DisplayObject
 InheriteddoubleClick オブジェクトの doubleClickEnabled フラグが true に設定されている場合には、ユーザーが同じ InteractiveObject 上でポインティングデバイスのメインボタンを 2 回続けてすばやく押して離すと送出されます。InteractiveObject
 InheritedenterFrame 再生ヘッドが新しいフレームに入るときに送出されます。DisplayObject
 InheritedfocusIn 表示オブジェクトがフォーカスを取得した後に送出されます。InteractiveObject
 InheritedfocusOut 表示オブジェクトがフォーカスを失った後に送出されます。InteractiveObject
 InheritedkeyDown ユーザーがキーを押したときに送出されます。InteractiveObject
 InheritedkeyFocusChange ユーザーがキーボード操作によってフォーカスを変更しようとすると送出されます。InteractiveObject
 InheritedkeyUp ユーザーがキーを離したときに送出されます。InteractiveObject
 InheritedmouseDown Flash Player ウィンドウの InteractiveObject インスタンスの上で、ユーザーがポインティングデバイスのボタンを押したときに送出されます。InteractiveObject
 InheritedmouseFocusChange ユーザーがポインティングデバイスでフォーカスを変更しようとすると送出されます。InteractiveObject
 InheritedmouseMove InteractiveObject の上で、ユーザーがポインティングデバイスを動かしたときに送出されます。InteractiveObject
 InheritedmouseOut ユーザーが InteractiveObject インスタンスからポインティングデバイスを離したときに送出されます。InteractiveObject
 InheritedmouseOver ユーザーが Flash Player ウィンドウの InteractiveObject インスタンスに、ポインティングデバイスを合わせたときに送出されます。InteractiveObject
 InheritedmouseUp ユーザーが Flash Player ウィンドウの InteractiveObject インスタンスの上でポインティングデバイスのボタンを離したときに送出されます。InteractiveObject
 InheritedmouseWheel Flash Player ウィンドウの InteractiveObject インスタンスの上で、マウスホイールを回転させたときに送出されます。InteractiveObject
 Inheritedremoved 表示オブジェクトが表示リストから削除されようとしているときに送出されます。DisplayObject
 Inheritedrender 表示リストが更新およびレンダリングされようとしているときに送出されます。DisplayObject
 InheritedrollOut ユーザーが InteractiveObject インスタンスからポインティングデバイスを離したときに送出されます。InteractiveObject
 InheritedrollOver ユーザーが InteractiveObject インスタンスにポインティングデバイスを合わせたときに送出されます。InteractiveObject
 InheritedtabChildrenChange オブジェクトの tabChildren フラグの値が変更されたときに送出されます。InteractiveObject
 InheritedtabEnabledChange オブジェクトの tabEnabled フラグが変更されたときに送出されます。InteractiveObject
 InheritedtabIndexChange オブジェクトの tabIndex プロパティの値が変更されたときに送出されます。InteractiveObject
プロパティの詳細
contentプロパティ
content:DisplayObject  [read-only]

load() メソッドを使用してロードされた SWF ファイルまたはイメージ (JPG、PNG、または GIF) ファイルのルート表示オブジェクトが含まれます。

実装
    public function get content():DisplayObject

Throws
SecurityError — ロードされた SWF ファイルまたはイメージファイルは、アクセス権限が与えられていないセキュリティ Sandbox に属しています。ロードされた SWF ファイルの場合、ファイルで Security.allowDomain() メソッドを呼び出すことによって、あるいはロードする側のファイルで load() または loadBytes() メソッドを呼び出すときに securityDomain プロパティの loaderContext パラメータを SecurityDomain.currentDomain に設定することによって、この状況を回避できます。

関連項目

contentLoaderInfoプロパティ 
contentLoaderInfo:LoaderInfo  [read-only]

ロードされているオブジェクトに対応する LoaderInfo オブジェクトを返します。LoaderInfo オブジェクトは Loader オブジェクトとロードされたコンテンツオブジェクトとの間で共有されます。LoaderInfo オブジェクトは、ロードの進行状況に関する情報と、ロードされたファイルに関する統計を提供します。

実装
    public function get contentLoaderInfo():LoaderInfo

関連項目

コンストラクタの詳細
Loader()コンストラクタ
public 関数 Loader()

SWF、JPEG、GIF、または PNG ファイルなどのファイルをロードするのに使用できる Loader オブジェクトを作成します。アセットを Loader インスタンスの子としてロードするには、load() メソッドを呼び出します。その後、Loader オブジェクトを表示リストに追加できます。たとえば、DisplayObjectContainer インスタンスの addChild() メソッドを使用して追加します。アセットはロードされるとステージに表示されます。

Loader インスタンスを "リスト外" で、つまり、表示リスト上の表示オブジェクトコンテナに追加せずに使用することもできます。このモードの場合、Loader インスタンスを使用して、アプリケーションの追加モジュールを含む SWF ファイルをロードすることができます。

SWF ファイルのロードが完了したことを検出するには、Loader オブジェクトの contentLoaderInfo プロパティに関連付けられた LoaderInfo オブジェクトのイベントを使用できます。その時点で、モジュール SWF ファイル内のコードを実行して、モジュールを初期化し、開始することができます。リスト外モードでは、Loader インスタンスを使用して、コンポーネントまたはメディアアセットを含む SWF ファイルをロードすることもできます。この場合も、LoaderInfo オブジェクトのイベント通知を使用して、コンポーネントのロードが完了したことを検出できます。その時点で、アプリケーションは SWF ファイルのライブラリ内のコンポーネントとメディアアセットの使用を開始できます。これは、それらのコンポーネントとアセットを表す ActionScript 3.0 クラスをインスタンス化することによって行います。

Loader オブジェクトの状態を判別するには、Loader オブジェクトの contentLoaderInfo プロパティに関連付けられた LoaderInfo オブジェクトの次のイベントを監視します。

関連項目

メソッドの詳細
close()メソッド
public function close():void

Loader インスタンスに対して現在進行中の load() メソッドの処理をキャンセルします。

関連項目

load()メソッド 
public function load(request:URLRequest, context:LoaderContext = null):void

SWF、JPEG、プログレッシブ JPEG、非アニメーション GIF、または PNG ファイルを、この Loader オブジェクトの子であるオブジェクトにロードします。アニメーション GIF ファイルを読み込むと、先頭のフレームのみ表示されます。Loader オブジェクトには子を 1 つだけしか含めることができないため、後続の load() 要求を発行すると直前の要求 (保留中であれば) を終了し、新たにロードを開始します。

Loader オブジェクトにロードした SWF ファイルまたはイメージは、その Loader オブジェクトの親の表示オブジェクトの位置、回転、および拡大/縮小の各プロパティを継承します。

このメソッドを使用してロードされたムービーまたはイメージを削除したり、進行中のロード処理をキャンセルするには、unload() メソッドを使用します。

load() メソッドを使用するときは、Flash Player セキュリティモデルを考慮してください。

詳細については、次のトピックを参照してください。

パラメータ
request:URLRequest — ロードする SWF、JPEG、GIF、または PNG ファイルの絶対 URL または相対 URL。相対パスの場合は、メイン SWF ファイルを基準にする必要があります。絶対 URL の場合は、http:// や file:/// などのプロトコル参照も含める必要があります。ファイル名には、ドライブ指定を含めることはできません。
 
context:LoaderContext (default = null) — 次の定義を行うプロパティのある、LoaderContext オブジェクトです。
  • オブジェクトのロード時に Flash Player がポリシーファイルの存在を確認するかどうか
  • ロードされるオブジェクトの ApplicationDomain
  • ロードされるオブジェクトの SecurityDomain

完全な詳細については、LoaderContext クラスのプロパティの説明を参照してください。


イベント
complete:Event — ファイルのロードが完了したときに送出されます。complete イベントは、常に、init イベントの後に送出されます。
 
httpStatus:HTTPStatusEvent — ネットワーク要求が HTTP 上で行われ、Flash Player が HTTP 状況コードを検出できる場合に送出されます。
 
init:Event — ロードされた SWF ファイルのプロパティおよびメソッドにアクセスできる場合に送出されます。init イベントは、常に、complete イベントの前に送出されます。
 
ioError:IOErrorEvent — 入出力エラーが発生してロード処理が失敗したときに送出されます。
 
open:Event — ロード処理が開始したときに送出されます。
 
progress:ProgressEvent — ロード処理を実行中にデータを受信したときに送出されます。
 
securityError:SecurityErrorEvent — ロード処理で、セキュリティ Sandbox の外にあるサーバーからデータをロードしようとしたときに送出されます。
 
unload:Event — ロードされたオブジェクトが削除されたときに送出されます。

スロー
SecurityError LoaderContext.securityDomain の値は、null または SecurityDomain.currentDomain のいずれかである必要があります。つまり、ロードされたメディアは、通常のセキュリティ Sandbox または独自の Sandbox のいずれかにしか配置できません。後者の場合は、ポリシーファイルが必要です。
 
SecurityError — ローカル SWF ファイルでは、LoaderContext.securityDomain に null 以外の値を設定できません。また、ローカルでないメディアのローカルサンドボックスへのインポート、およびローカルメディアの通常の Sandbox 以外の場所への配置は許可されません。
 
SecurityError — この SWF ファイルが、信頼されないコードとしてローカルのサンドボックスに置かれていたもので、ネットワークの URL にアクセスしようとした場合
 
SecurityError context パラメータの applicationDomain または securityDomain プロパティが、許可されていないドメインのものであった場合
 
SecurityError — ローカル SWF ファイルが、context パラメータの securityDomain プロパティを使用しようとした場合

関連項目

loadBytes()メソッド 
public function loadBytes(bytes:ByteArray, context:LoaderContext = null):void

ByteArray オブジェクトに保管されているバイナリデータからロードします。

パラメータ
bytes:ByteArray — ByteArray オブジェクトです。ByteArray の内容としては、Loader クラスがサポートする SWF、GIF、JPEG、PNG のうちの任意のファイル形式を使用できます。
 
context:LoaderContext (default = null) — LoaderContext オブジェクトです。LoaderContext オブジェクトの applicationDomain プロパティのみが適用され、LoaderContext オブジェクトの checkPolicyFile および securityDomain プロパティは適用されません。

スロー
ArgumentError — ByteArray オブジェクトの length プロパティが 0 以下であった場合
 
IllegalOperationError context パラメータの checkPolicyFile または securityDomain プロパティが null 以外であった場合
 
SecurityError — 受け取った context プロパティの applicationDomain プロパティが、許可されていないドメインのものであった場合

関連項目

unload()メソッド 
public function unload():void

load() メソッドを使用してロードされた、この Loader オブジェクトの子を削除します。関連した LoaderInfo オブジェクトの propertynull にリセットされます。他のオブジェクトが参照している可能性があるため、子は必ずしも破棄されるとは限りません。しかし、Loader オブジェクトの子ではなくなります。

子 SWF ファイルをアンロードする前に、LocalConnection、NetConnection、NetStream、Sound オブジェクトなど、子 SWF ファイルのオブジェクト内のストリームをすべて明示的に閉じておくことをお勧めします。そうしなかった場合は、子 SWF ファイルがアンロードされた後も、子 SWF ファイルのオーディオの再生が続く場合があります。子 SWF ファイルのストリームを閉じるには、unload イベントを受け取る子にイベントリスナーを追加します。親が Loader.unload() を呼び出すと、unload イベントが子に対して送出されます。次のコードは、このような処理を行う例を示します。

function closeAllStreams(evt:Event) {
myNetStream.close();
mySound.close();
myNetConnection.close();
myLocalConnection.close();
}

myMovieClip.loaderInfo.addEventListener(Event.UNLOAD, closeAllStreams);

関連項目


次の例では、LoaderExample クラスを使用して、さまざまなイベントリスナーの 使用法を示します。これを行うには、以下の手順を実行します。
  1. url プロパティを作成します。これはイメージファイルの場所と名前です。
  2. LoaderExample コンストラクタでは、loader という名前の新しい Loader オブジェクトが 作成され、手順 3 で説明する configureListeners() メソッドに渡されます。
  3. コンストラクタは URLRequest オブジェクトの新しいインスタンス、 request を作成して、ファイル名と場所が分かるように、url を渡します。
  4. request オブジェクトが loader オブジェクトの load() メソッドに渡されます。これにより、イメージが表示リストにロードされます。
  5. clickHandler イベントリスナーがローダーの click イベントに対して登録されます。 マウスをクリックすると、ロードされたイメージはアンロードされます。
  6. configureListeners() メソッドは、次のメソッドを使用して、7 つのイベントリスナーを追加します。
    • completeHandler() メソッドは、イメージのロードが完了したときに実行されます。
    • httpStatusHandler() メソッドは、イメージがローカルにロードされない場合で、 ネットワーク要求を行うことができ、Flash Player がそれを検出できる場合にのみ実行されます。
    • initHandler() メソッドは、completeHandler() メソッドの前、 かつ progressHandler() メソッドの後に実行されます。通常、SWF ファイルをロードする場合は init イベントの方が便利です。
    • ioErrorHandler() メソッドは、イメージファイルを使用できないか、イメージファイルにアクセスできない場合に 実行されます。
    • openHandler() メソッドは、イメージファイルが最初に開かれたときに実行されます。
    • progressHandler() メソッドは、イメージファイルのロードが開始したときに実行され、 イメージのロードが完了したときに再び実行されます。
    • unLoadHandler() メソッドは、ユーザーがイメージをクリックしたときに unload() メソッドを使用してイメージがアンロードされた場合に実行されます。

次の要件に注意してください。

package {
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.events.*;
    import flash.net.URLRequest;

    public class LoaderExample extends Sprite {
        private var url:String = "Image.gif";

        public function LoaderExample() {
            var loader:Loader = new Loader();
            configureListeners(loader.contentLoaderInfo);
            loader.addEventListener(MouseEvent.CLICK, clickHandler);

            var request:URLRequest = new URLRequest(url);
            loader.load(request);

            addChild(loader);
        }

        private function configureListeners(dispatcher:IEventDispatcher):void {
            dispatcher.addEventListener(Event.COMPLETE, completeHandler);
            dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
            dispatcher.addEventListener(Event.INIT, initHandler);
            dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            dispatcher.addEventListener(Event.OPEN, openHandler);
            dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            dispatcher.addEventListener(Event.UNLOAD, unLoadHandler);
        }

        private function completeHandler(event:Event):void {
            trace("completeHandler: " + event);
        }

        private function httpStatusHandler(event:HTTPStatusEvent):void {
            trace("httpStatusHandler: " + event);
        }

        private function initHandler(event:Event):void {
            trace("initHandler: " + event);
        }

        private function ioErrorHandler(event:IOErrorEvent):void {
            trace("ioErrorHandler: " + event);
        }

        private function openHandler(event:Event):void {
            trace("openHandler: " + event);
        }

        private function progressHandler(event:ProgressEvent):void {
            trace("progressHandler: bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
        }

        private function unLoadHandler(event:Event):void {
            trace("unLoadHandler: " + event);
        }

        private function clickHandler(event:MouseEvent):void {
            trace("clickHandler: " + event);
            var loader:Loader = Loader(event.target);
            loader.unload();
        }
    }
}