actionscript 3 - AS3 访问依赖于 URLLoader 的类属性



我在AS3中遇到了一些问题。例如,我有两个类Car.asReadXML.as,如下所示:

Car.as

public class Car{
    public function get price():String{
      var priceXML:ReadXML = new ReadXML('price.xml');
      return priceXML.file;
    }
}

ReadXML.as

public class ReadXML{
    public var file:XML;
    public var loader:URLLoader;
    public function ReadXML(fileName:String):void{
        loader = new URLLoader();
        loader.addEventListener(Event.COMPLETE, _loadComplete);
        loader.load(new URLRequest(fileName));
    }
    private function _loadComplete(e:Event):void{
        file = new XML(loader.data);
        loader.removeEventListener(Event.COMPLETE, _loadComplete);
    }
}

但是当我尝试访问价格属性时,

var carObj:car = new Car();
trace(carObj.price)

它返回 null,我认为这是因为URLLoader尚未完成。那么,对此的替代方案或解决方案是什么?谢谢!

我认为每次要检查实例的"price"属性时加载XML文件都是问题所在。
我建议将 XML 文件作为应用程序初始化的一部分加载,并将 _loadComplete 函数作为初始化的一部分;加载 XML 后,您的应用程序可以继续并实例化任意数量的"new Car()"——如果 XML 已预加载,则不需要延迟。

相关内容

  • 没有找到相关文章

最新更新