通过外部XML在AS3中添加图像
我认为这是相对简单的,它似乎不适合我。我想我走对了方向。 这就是我所拥有的:通过外部XML在AS3中添加图像,xml,image,actionscript-3,file,external,Xml,Image,Actionscript 3,File,External,我认为这是相对简单的,它似乎不适合我。我想我走对了方向。 这就是我所拥有的: import mx.controls.Image; public var newImage:Image; public var myXML:XML; public var myLoader:URLLoader = new URLLoader(); public function init():void{ myLoader.lo
import mx.controls.Image;
public var newImage:Image;
public var myXML:XML;
public var myLoader:URLLoader = new URLLoader();
public function init():void{
myLoader.load(new URLRequest("images.xml"));
myLoader.addEventListener(Event.COMPLETE, processXML);
}
public function processXML(e:Event):void{
myXML = new XML(e.target.data);
newImage = new Image();
newImage.source = myXML.IMAGE.@src;
imgGroup.addElement(newImage);
}
但它并没有为我显示图像。有什么想法吗
以下是我的XML供参考:
<?xml version="1.0" encoding="utf-8"?>
<GALLERY COLUMNS="5" XPOSITION="30" YPOSITION="30" WIDTH="100" HEIGHT="100">
<IMAGE src="img_data/download.jpg" />
</GALLERY>
您的思路是正确的,但您需要先加载图像,然后才能使用它们。您可以使用来实现这一点,就像用加载XML一样
请参见,仅供将来参考,您应该使用
[INDEX]
访问XML对象的每个节点,即使只有一个元素。所以myXML.IMAGE.@src
实际上应该是myXML.IMAGE[0]。@src
。它的解析速度要快一点(不过只在大量情况下才明显),如果您这样做的话,它会变得更加灵活。当您设置图像的源属性时,Flex中的Image
类已经加载了图像。我可以在Flex中轻松地完成它,但是我需要从XML加载它。我会这样做吗?imgLoader.load(myLoader);假设我这样做了:public var imgLoader:Loader;虽然我不使用Flex,但我每天都使用URLLoader(用于XML)和Loader(用于图像)从XML对象中给定的路径加载图像。如果Flex支持AS3(它支持AS3),这个解决方案应该可以工作。只需检查image
节点,并在调用Loader
时使用src
属性作为路径。