扩展加载程序



我正在尝试扩展加载器类。

我想在上面存储一个变量。

例:

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)
}

我收到此错误:

引用错误:

错误 #1069:在 flash.display.LoaderInfo 中找不到属性类型图库,并且没有模式值。

(我已经将错误消息从葡萄牙语翻译成英语)

如何扩展加载程序,以免收到此错误?

谢谢。

Loader 不会调度Event.COMPLETE事件。你应该听

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

然后获取您的MyLoader

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

在代码中,e.target是一个LoaderInfo,因为COMPLETE事件冒泡到Loader本身。

loader.contentLoaderInfo.typeOfGallery = 'games'

是错误的 - 你想去加载器而不是它的内容加载器信息...

loader.typeOfGallery = 'games'

trace(e.target.typeOfGallery) 应该可以工作,因为它是对加载器的引用!!

相关内容

  • 没有找到相关文章

最新更新