0

我正在尝试创建一个画廊,其中每个拇指都位于它自己的影片剪辑中,该影片剪辑将包含更多数据,但它一直失败,因为它不会让我引用新创建的影片剪辑实例。以下是我正在尝试做的事情。

var xml:XML;
var xmlReq:URLRequest = new URLRequest("xml.xml");
var xmlLoader:URLLoader = new URLLoader();
var imageLoader:Loader;
var vidThumbn:ThumbNail;
var next_y:Number = 0;

    for(var i:int = 0; i < xml.downloads.videos.video.length(); i++)
{   
    vidThumbn = new ThumbNail();
    imageLoader = new Loader();
    imageLoader.load(new URLRequest(xml.downloads.videos.video[i].ThumbnailImage));
    vidThumbn.y = next_y;
    vidThumbn.x = 0;
    next_y += 117;
    imageLoader.name = xml.downloads.videos.video[i].Files[0].File.URL;
    videoBox.thumbList.thumbListHolder.addChild(vidThumbn);
    videoBox.thumbList.thumbListHolder.vidThumbn.addChild(imageLoader);

}

它每次都死在最后一行。如何引用该 vidThumbn 实例以便添加 imageLoader?我不知道我错过了什么。感觉它应该工作。

4

2 回答 2

0

您必须将其称为 vidThumbn,而不是扩展地址....

于 2010-06-06T01:30:45.567 回答
0

我认为它失败了,因为 imageLoader 没有加载图像。此外,imageLoader 不保存其 iamgeLoader.content 的“数据”

最好的方法:创建一个“LoaderSprite 类”而不是 imageLoader = new Loader();

    public class LoaderSprite extends Sprite 
{
    private var _ldr : Loader;

    public function LoaderSprite(url : String)
    {
        _ldr = new Loader();
        _ldr.load(new URLRequest(url));
        _ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
    }

    private function onComplete(event : Event) : void
    {
        //Bitmap(_ldr.content).smoothing = true;
        addChild(_ldr.content);

        // Fireing your own event
        //dispatchEvent(new LoaderSpriteEvent(LoaderSpriteEvent.LOADED));
    }
}
于 2010-06-08T13:02:05.667 回答