0

私は画像の配列を持っています私はURLを取得してこの関数loadImageによってそれらをロードするためにそれらをループスローする必要があります、関数は正常に動作し、画像をロードします私がそれに画像を追加するとMovieclipブロックに問題があります画像が追加されますループ内の最後のMovieclip?

var relatedJSON = JSON.decode(e.target.data);
    var relatedStories = relatedJSON.stories;
    if(relatedStories.length > 0){
        for(var j:Number=0;j<relatedStories.length;j++){
            if(relatedStories[j].yahki_thumb){
                var one = j+1;
                var block = related_stories.getChildByName('related_stories_block'+one);
                // load the image
                loadImage({
                    path:relatedStories[j].yahki_thumb,
                    success:function(e:Event,my_loader:Loader)
                    {
                        my_loader.width = this[block].width;
                        my_loader.height = this[block].height;
                        this[block].img.addChild(my_loader);
                    },
                    error:function(e:Event)
                    {
                        // error
                        echo('error to load an image');
                    }
                });
            }
        }
        // replay button event
        //replay
    }else{
        // error
        echo('no related stories');
    }
4

1 に答える 1

1

ループ内でこれを試してください:

   var that:* = this;
   (function(block:*):void{
       loadImage({
                path:relatedStories[j].yahki_thumb,
                success:function(e:Event,my_loader:Loader)
                {
                    my_loader.width = that[block].width;
                    my_loader.height = that[block].height;
                    that[block].img.addChild(my_loader);
                },
                error:function(e:Event)
                {
                    // error
                    echo('error to load an image');
                }
            });
   })(block);

読み込みは非同期であるため、success関数が呼び出されたとき、blockvalueにはすでにrelated_stories.getChildByName('related_stories_block'+relatedStories.length)valueがあります。そのため、最後に要素が追加されましたMovieClip

于 2012-06-13T10:02:33.200 に答える