2012-07-22 87 views
0

我对AS3/Flash CS5几乎没有现成的知识。从XML文件加载任意图像

我需要从URL列表中加载一个随机图像。

每次我加载电影,它应该加载一个随机图像。

任何想法如何做到这一点?

+0

你可以发布你的XML文件的结构吗? – 2012-07-22 06:53:40

回答

1

我假设这是您的xml文件的样子:

<images> 
    <image url="http://url_to_image/1.png" width="100" height="100" /> 
    <image url="http://url_to_image/2.png" width="100" height="100" /> 
    <image url="http://url_to_image/3.png" width="100" height="100" /> 
    <image url="http://url_to_image/4.png" width="100" height="100" /> 
    <image url="http://url_to_image/5.png" width="100" height="100" /> 
</images> 

,这里是什么,你会做的就是从这些随机一个:

private function randomImage(imagesXML:XML):Object { 
    var imageList:XMLList=imagesXML.image; 
    var imageCollection:XMLListCollection=new XMLListCollection(imageList); 
    var random:int=Math.floor(Math.random() * imageCollection.length); 
    var r:Object={}; 
    r.url=xmlCollection[random][email protected]; 
    r.width=Number(xmlCollection[random][email protected]); 
    r.height=Number(xmlCollection[random][email protected]); 
    return r; 
} 

,这里是你如何把它叫做:

private var x:XML=<images> 
     <image url="http://url_to_image/1.png" width="100" height="100" /> 
     <image url="http://url_to_image/2.png" width="100" height="100" /> 
     <image url="http://url_to_image/3.png" width="100" height="100" /> 
     <image url="http://url_to_image/4.png" width="100" height="100" /> 
     <image url="http://url_to_image/5.png" width="100" height="100" /> 
    </images>; 

var img:Object=randomImage(x); 

现在你有img.urlimg.widthimg.height