1

我正在尝试调整从闪烁的公共照片提要中加载的照片的大小。我可以获取照片并使用添加子项查看它们,但是如果我尝试调整它们的大小,它们将不会加载,并且我没有收到任何错误。

这是代码:

    public function onClick(e:MouseEvent):void{
        urlloader=new URLLoader();
        var req=new URLRequest("http://api.flickr.com/services/feeds/photos_public.gne" );
        var urlvars:URLVariables=new URLVariables();
        urlvars.format ="rss_200";
        urlvars.tags="cat";
        req.data=urlvars;
        urlloader.addEventListener(Event.COMPLETE, onXMLLoaded);
        urlloader.load(req);
    }
    public function onXMLLoaded(e:Event):void{
        trace(urlloader.data);
        var xml:XML = new XML (urlloader.data);
        urls=[];
        var mediaNS:Namespace=new Namespace("http://search.yahoo.com/mrss/" );
        for(var i:int =0; i<xml.channel.item.length();i++){
            urls.push(xml.channel.item[i].mediaNS::content.@url);
        }
        //trace(xml.channel.item[i].guid.height.mediaNS::content.@url);
        loadPhotos();
        trace(urls.length);
        trace(urls[1]);

    }
    public function loadPhotos():void{
        var ldr:Loader = new Loader();
        var req:URLRequest=new URLRequest(urls[1]);
        ldr.load(req);
        trace("image loaded");
        addChild(ldr);
        ldr.width=200;
        ldr.height=200;


    }
4

1 回答 1

1

您需要在完成加载后调整图像大小。目前,您正在尝试调整尚未加载的图像大小(并且宽度/高度为 0,0)。

Event.COMPLETE可以帮助你解决这个问题,示例:

var request:URLRequest = new URLRequest("http://www.gravatar.com/avatar/e6420234b202a900e8d57d4e714aa184?s=128&d=identicon&r=PG");
var loader:Loader = new Loader();

loader.load(request);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, resizeImage);

function resizeImage(e:Event):void
{
    loader.width = 500;
    loader.height = 400;

    addChild(loader);
}
于 2012-09-18T05:14:21.657 回答