1

Loader クラスを拡張しようとしています。

変数を格納したい。

例:

package
{
import flash.display.Loader;

public class MyLoader extends Loader
{
    private var _typeOfGallery:String

    public function MyLoader()
    {
        super()
    }

    public function set typeOfGallery(value:String):void
    {
        _typeOfGallery = value
    }

    public function get typeOfGallery():String
    {
        return _typeOfGallery
    }
}

}

それから私はこのように使用しています:

var loader:MyLoader = new MyLoader()
loader.typeOfGallery = 'games'
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded)

function loaded(e:Event):void{
trace(e.target.typeOfGallery)
}

次のエラーが表示されます。

ReferenceError: エラー #1069: プロパティ typeOfGallery が flash.display.LoaderInfo に見つからず、パターン値がありません。

(エラーメッセージをポルトガル語から英語に翻訳しました)

このエラーを受け取らないように Loader を拡張するにはどうすればよいですか?

ありがとう。

4

2 に答える 2

2

LoaderEvent.COMPLETEイベントをディスパッチしません。あなたは聞くべきです

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded)

そして、あなたMyLoaderを手に入れます

function loaded(e:Event):void{
   trace(((e.currentTarget as LoaderInfo).loader as MyLoader).typeOfGallery);
}

あなたのコードでe.targetLoaderInfoCOMPLETEイベントがそれ自体にバブルするためLoaderです。

于 2012-04-24T15:15:47.497 に答える
0
loader.contentLoaderInfo.typeOfGallery = 'games'

IS WRONG - contentLoaderInfo ではなくローダーを使用する必要があります...

loader.typeOfGallery = 'games'

trace(e.target.typeOfGallery) は、ローダーへの参照のために機能するはずです!!

于 2012-04-24T15:50:21.300 に答える