リスナーシンタックスの使用について

Flash 8 以降ではイベントのリスナーを何とおりかの方法で書くことができます。以下の例は一般的な方法を示しています。最初の例は、Loader コンポーネントを使用するリスナーシンタックスです。この例では、コンテンツが SWF ファイルにロードされます。コンテンツのロード開始時に progress イベントが開始され、ロード終了時に complete が示されます。

var boxLdr:mx.controls.Loader;
var ldrListener:Object = new Object();
ldrListener.progress = function(evt:Object) {
    trace("loader loading:" + Math.round(evt.target.percentLoaded) + "%");
};
ldrListener.complete = function(evt:Object) {
    trace("loader complete:" + evt.target._name);
};
boxLdr.addEventListener("progress", ldrListener);
boxLdr.addEventListener("complete", ldrListener);
boxLdr.load("http://www.helpexamples.com/flash/images/image1.jpg"); 

次の例は handleEvent メソッドを使用する方法で、このセクションの最初の例を少し変形したものですが、この方法はやや面倒です。キャッチされたイベントの種類を調べるために、if..else ステートメントの連続や switch ステートメントを使用する必要があるので、この方法はお勧めしません。

var boxLdr:mx.controls.Loader;
var ldrListener:Object = new Object();

ldrListener.handleEvent = function(evt:Object) {
    switch (evt.type) {
    case "progress" :
        trace("loader loading:" + Math.round(evt.target.percentLoaded) + "%");
        break;
    case "complete" :
        trace("loader complete:" + evt.target._name);
        break;
    }
};
boxLdr.addEventListener("progress", ldrListener);
boxLdr.addEventListener("complete", ldrListener);
boxLdr.load("http://www.helpexamples.com/flash/images/image1.jpg");


 

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

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00001133.html