2010-06-06 59 views
0

我試圖創建一個庫,其中每個拇指都位於其自己的影片剪輯內,該剪輯將具有更多數據,但由於它贏得'讓我引用新創建的影片剪輯實例。以下是我想要做的。在新創建的實例中添加一個新的實例,位於AS3中的循環內部

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?我不知道我錯過了什麼。它覺得它應該工作。

回答

0

你必須把它稱爲vidThumbn,而不是擴展地址....

+0

你可以添加一個詳細的代碼示例什麼確切需要參考 – 2012-11-17 16:20:08

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)); 
    } 
} 
相關問題