2010-06-06 4 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); 

} 

마지막 줄에서 매번 죽습니다. imageLoader를 추가 할 수 있도록 해당 vidThumbn 인스턴스를 어떻게 참조합니까? 내가 뭘 놓치고 있는지 모르겠다. 그것은 그것이 효과가 있어야한다고 느낀다. 당신은 vidThumbn 아닌 확장 된 주소로 참조해야

답변

0

....

+0

정확히 참조해야 할 것에 대한 자세한 코드 예제를 추가 할 수 있습니까? –

0

가 나는에서는 imageLoader 이미지를로드하지 않았기 때문에 실패라고 생각한다. 또한 imageLoader는 "데이터"의 iamgeLoader.content을 보유하지 않습니다.

가장 좋은 방법은 imageLoader = new Loader(); 대신 "LoaderSprite class"를 만듭니다.

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)); 
    } 
}