0

我正在使用 Adob​​e Flash CS5.5(使用 ActionScript 3.0),并且正在尝试插入 Flickr 提要。我希望 Flickr 图像显示在一种画廊中。到目前为止,这是我的代码,其结果是 TEXT 中的 Flickr 提要。如何让它显示实际图像?

import fl.controls.TextArea; 

var xmlLoader:URLLoader = new URLLoader(); 
var xmlData:XML = new XML(); 
var texten:TextArea = new TextArea(); 

xmlLoader.load(new URLRequest("http://api.flickr.com/services/feeds/photos_public.gne?tags=snow&format=rss_200"));
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
xmlLoader.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);

function LoadXML(e:Event):void {
    xmlData = new XML(e.target.data);
    trace(xmlData);
    texten.move(25,25);
    texten.setSize(500, 300); 
    addChild(texten);
    ParseXML(xmlData); 
}

function ParseXML(vaderInput:XML):void {
    var i:int = 0;  
    for each (var object:XML in vaderInput.channel.item) {
        texten.text += "" + object.title + "\r";
        texten.text += "" + object.description + "\r";
        texten.text += "\r";
        i++;
    } 
}

function ioErrorHandler(e:Event):void {
    trace('ERROR!');
    trace('Problems reading the XML-file!'); 
}
4

1 回答 1

0

阅读 LiveDocs。您想使用 aLoader来加载<media:thumbnail/>XML 中的数据。Loader 类扩展了 DisplayObject,但包含许多相同的属性/方法URLLoader

所以,基本上,你做这样的事情:

var l:Loader = new Loader();
l.contentLoaderInfo.addEventListener( Event.INIT, loaderInitHandler ); //the majority of events for Loader are attached to its contentLoaderInfo property. That is the only reason I included this line
l.load( new URLRequest( /*url goes here*/ );
this.addChild( l );

这会加载图像并立即将其添加到舞台上。一旦图像完全加载(据我所知,Flash 无法显示部分加载的图像),它将在舞台上可见。

从那里,您可以在很大程度上将加载器视为另一个 Sprite/MovieClip。

于 2013-03-14T16:18:50.823 回答