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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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() または loadBytes() メソッドを使用してロードされた 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
[read-only] この表示オブジェクトが属するファイルのロード情報を含む LoaderInfo オブジェクトを返します。
DisplayObject
 Inheritedmask : DisplayObject
呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。
DisplayObject
 InheritedmouseChildren : Boolean
オブジェクトの子に対してマウスが有効かどうかを調べます。
DisplayObjectContainer
 InheritedmouseEnabled : Boolean
このオブジェクトがマウスメッセージを受け取るかどうかを指定します。
InteractiveObject
 InheritedmouseX : Number
[read-only] マウス位置の x 座標を示します (ピクセル単位)。
DisplayObject
 InheritedmouseY : Number
[read-only] マウス位置の y 座標を示します (ピクセル単位)。
DisplayObject
 Inheritedname : String
DisplayObject のインスタンス名を示します。
DisplayObject
 InheritednumChildren : int
[read-only] このオブジェクトの子の数を返します。
DisplayObjectContainer
 InheritedopaqueBackground : Object
表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。
DisplayObject
 Inheritedparent : DisplayObjectContainer
[read-only] この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。
DisplayObject
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
 Inheritedroot : DisplayObject
[read-only] ロードされた SWF ファイル内の表示オブジェクトの場合、root プロパティはその SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。
DisplayObject
 Inheritedrotation : Number
DisplayObject インスタンスの元の位置からの回転角を度単位で示します。
DisplayObject
 Inheritedscale9Grid : Rectangle
現在有効な拡大 / 縮小グリッドです。
DisplayObject
 InheritedscaleX : Number
基準点から適用されるオブジェクトの水平スケール (percentage) を示します。
DisplayObject
 InheritedscaleY : Number
オブジェクトの基準点から適用されるオブジェクトの垂直スケール (percentage) を示します。
DisplayObject
 InheritedscrollRect : Rectangle
表示オブジェクトのスクロール矩形の境界です。
DisplayObject
 Inheritedstage : Stage
[read-only] 表示オブジェクトのステージです。
DisplayObject
 InheritedtabChildren : Boolean
オブジェクトの子に対してタブが有効かどうかを調べます。
DisplayObjectContainer
 InheritedtabEnabled : Boolean
このオブジェクトがタブ順序に含まれるかどうかを指定します。
InteractiveObject
 InheritedtabIndex : int
SWF ファイル内のオブジェクトのタブ順序を指定します。
InteractiveObject
 InheritedtextSnapshot : TextSnapshot
[read-only] この DisplayObjectContainer インスタンスの TextSnapshot オブジェクトを返します。
DisplayObjectContainer
 Inheritedtransform : Transform
表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。
DisplayObject
 Inheritedvisible : Boolean
表示オブジェクトが可視かどうかを示します。
DisplayObject
 Inheritedwidth : Number
表示オブジェクトの幅を示します (ピクセル単位)。
DisplayObject
 Inheritedx : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。
DisplayObject
 Inheritedy : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。
DisplayObject
パブリック メソッド
 メソッド定義元
  
SWF、JPEG、GIF、または PNG などのファイルのロードに使用できる Loader オブジェクトを作成します。
Loader
 Inherited
この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。
DisplayObjectContainer
 Inherited
この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。
DisplayObjectContainer
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
 Inherited
特定の point ポイントを指定して呼び出した DisplayObjectContainer.getObjectsUnderPoint() メソッドから返されたリストに、セキュリティ上の制約のために省略される表示オブジェクトがあるかどうかを示します。
DisplayObjectContainer
  
その Loader インスタンスで現在進行中の load() メソッドの処理をキャンセルします。
Loader
 Inherited
指定された表示オブジェクトが、DisplayObjectContainer インスタンスの子であるか、インスタンス自体であるかを指定します。
DisplayObjectContainer
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
targetCoordinateSpace オブジェクトの座標系を基準にして、表示オブジェクトの領域を定義する矩形を返します。
DisplayObject
 Inherited
指定のインデックス位置にある子表示オブジェクトインスタンスを返します。
DisplayObjectContainer
 Inherited
指定された名前に一致する子表示オブジェクトを返します。
DisplayObjectContainer
 Inherited
子 DisplayObject インスタンスのインデックス位置を返します。
DisplayObjectContainer
 Inherited
指定されたポイントの下にあり、この DisplayObjectContainer インスタンスの子または孫などであるオブジェクトの配列を返します。
DisplayObjectContainer
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
シェイプ上の線を除き、targetCoordinateSpace パラメータによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。
DisplayObject
 Inherited
point オブジェクトをステージ (グローバル) 座標から表示オブジェクトの (ローカル) 座標に変換します。
DisplayObject
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
表示オブジェクトを評価して、obj 表示オブジェクトと重複または交差するかどうかを調べます。
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
表示オブジェクトを評価して、x および y パラメータで指定されたポイントと重複または交差するかどうかを調べます。
DisplayObject
 Inherited
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
 Inherited
point オブジェクトを表示オブジェクトの (ローカル) 座標からステージ (グローバル) 座標に変換します。
DisplayObject
 Inherited
指定されたプロパティが存在し列挙できるかどうかを示します。
Object
 Inherited
DisplayObjectContainer インスタンスの子リストから指定の child DisplayObject インスタンスを削除します。
DisplayObjectContainer
 Inherited
DisplayObjectContainer の子リストの指定されたインデックス位置から子 DisplayObject を削除します。
DisplayObjectContainer
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
 Inherited
表示オブジェクトコンテナの既存の子の位置を変更します。
DisplayObjectContainer
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定された 2 つの子オブジェクトの z 順序 (重ね順) を入れ替えます。
DisplayObjectContainer
 Inherited
swapChildrenAt(index1:int, index2:int):void
子リスト内の指定されたインデックス位置に該当する 2 つの子オブジェクトの z 順序 (重ね順) を入れ替えます。
DisplayObjectContainer
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
  
load() メソッドを使用してロードされた、この Loader オブジェクトの子を削除します。
Loader
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント 概要 定義元
 Inherited Flash Player がオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
 Inherited 表示オブジェクトが表示リストに追加されたときに送出されます。DisplayObject
 Inherited 表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの追加により、ステージ上の表示リストに追加されたときに送出されます。DisplayObject
 Inherited ユーザーが InteractiveObject をポインティングデバイスのメインボタンでクリックしたときに送出されます。InteractiveObject
 Inherited Flash Player がオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。EventDispatcher
 Inherited オブジェクトの doubleClickEnabled フラグが true に設定されている場合にユーザーが InteractiveObject をポインティングデバイスのメインボタンで 2 回続けてすばやくクリックすると送出されます。InteractiveObject
 Inherited 再生ヘッドが新しいフレームに入るときに送出されます。DisplayObject
 Inherited 表示オブジェクトがフォーカスを取得したときに送出されます。InteractiveObject
 Inherited 表示オブジェクトがフォーカスを失ったときに送出されます。InteractiveObject
 Inherited ユーザーがキーを押したときに送出されます。InteractiveObject
 Inherited ユーザーがキーボード操作によってフォーカスを変更しようとすると送出されます。InteractiveObject
 Inherited ユーザーがキーを離したときに送出されます。InteractiveObject
 Inherited Flash Player ウィンドウの InteractiveObject インスタンスの上でユーザーがポインティングデバイスのボタンを押すと送出されます。InteractiveObject
 Inherited ユーザーがポインティングデバイスでフォーカスを変更しようとすると送出されます。InteractiveObject
 Inherited ユーザーが InteractiveObject の上でポインティングデバイスを移動させたときに送出されます。InteractiveObject
 Inherited ユーザーが InteractiveObject インスタンスからポインティングデバイスを離したときに送出されます。InteractiveObject
 Inherited ユーザーが Flash Player ウィンドウの InteractiveObject インスタンスにポインティングデバイスを合わせたときに送出されます。InteractiveObject
 Inherited ユーザーが Flash Player ウィンドウの InteractiveObject インスタンスの上でポインティングデバイスのボタンを解放したときに送出されます。InteractiveObject
 Inherited Flash Player ウィンドウの InteractiveObject インスタンスの上でマウスホイールを回転させたときに送出されます。InteractiveObject
 Inherited 表示オブジェクトが表示リストから削除されようとしているときに送出されます。DisplayObject
 Inherited 表示オブジェクトが、直接、または表示オブジェクトを含むサブツリーの削除により、表示リストから削除されようとしているときに送出されます。DisplayObject
 Inherited 表示リストが更新およびレンダリングされようとしているときに送出されます。DisplayObject
 Inherited ユーザーが InteractiveObject インスタンスからポインティングデバイスを離したときに送出されます。InteractiveObject
 Inherited ユーザーが InteractiveObject インスタンスにポインティングデバイスを合わせたときに送出されます。InteractiveObject
 Inherited オブジェクトの tabChildren フラグの値が変更されたときに送出されます。InteractiveObject
 Inherited オブジェクトの tabEnabled フラグが変更されたときに送出されます。InteractiveObject
 Inherited オブジェクトの tabIndex プロパティの値が変更されたときに送出されます。InteractiveObject
プロパティの詳細
contentプロパティ
content:DisplayObject  [read-only]

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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


実装
    public function get content():DisplayObject

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

関連項目

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

ロードに関連するイベントは、Loader オブジェクトの contentLoaderInfo プロパティで参照される LoaderInfo オブジェクトによって送出されます。contentLoaderInfo プロパティは、コンテンツのロードの前も、有効な valid LoaderInfo オブジェクトに設定されているので、ロードの前にイベントリスナーをオブジェクトに追加できます。


実装
    public function get contentLoaderInfo():LoaderInfo

関連項目

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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

関連項目

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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 — ファイルのロードが完了したときに、関連する LoaderInfo オブジェクトによって送出されます。complete イベントは、常に init イベントの後に送出されます。
 
httpStatus:HTTPStatusEvent — ネットワーク要求が HTTP を介して行われ、Flash Player が HTTP 状況コードを検出できる場合に、関連する LoaderInfo オブジェクトによって送出されます。
 
init:Event — ロードされた SWF ファイルのプロパティおよびメソッドにアクセスできる場合に、関連する LoaderInfo オブジェクトによって送出されます。init イベントは、常に complete イベントの前に送出されます。
 
ioError:IOErrorEvent — 入出力エラーが発生してロード処理が失敗したときに、関連する LoaderInfo オブジェクトによって送出されます。
 
open:Event — ロード処理が開始したときに、関連する LoaderInfo オブジェクトによって送出されます。
 
progress:ProgressEvent — ロード処理を実行中にデータを受信したときに、関連する LoaderInfo オブジェクトによって送出されます。
 
unload:Event — ロードされたオブジェクトが削除されるときに、関連する LoaderInfo オブジェクトによって送出されます。

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

関連項目

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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 checkPolicyFile または securityDomain プロパティ (context パラメータのプロパティ) が null 以外であった場合
 
SecurityError applicationDomain プロパティ (受け取った context プロパティのプロパティ) が、許可されていないドメインのものであった場合

関連項目

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

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

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.as

次の例では、LoaderExample クラスを使用して、さまざまなイベントリスナーの使用方法を示します。これを行うには、以下の手順を実行します。
  1. url プロパティを作成します。これはイメージファイルの場所と名前です。
  2. LoaderExample コンストラクタでは、loader という名前の新しい Loader オブジェクトが作成され、手順 3 出説明する configureListeners() メソッドに渡されます。
  3. コンストラクタは、request という URLRequest オブジェクトの新しいインスタンスを作成しますが、その前に、ファイル名と場所が分かるように 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();
        }
    }
}




 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/display/Loader.html