Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Остановка загрузки\Начало новой (http://www.flasher.ru/forum/showthread.php?t=143611)

FriOne 20.08.2010 20:31

Загрузка изображений по нажатию и без
 
Сделал функцию загрузки строки, которая будет начинаться если кнопка нажата:
Код AS1/AS2:

function load_line(line:MovieClip, line_number:Number, last_pic:Number)
{
        if(flag == false) { break; } // Если нажата другая кнопка - выходим
 
        // Определние места загрузки
        if(line._parent == pictures_interior)
        {
                if(last_pic<area.firstChild.childNodes[0].childNodes[line_number].attributes.count){ break; } // Если катинки закончились - выходим
                if(!line["picture_inter"+line_number+j])
                {
                        var picture_inter:MovieClip = line.createEmptyMovieClip("picture_inter"+line_number+j,line.getNextHighestDepth());
                        picture_inter._x = 600*last_pic;
                        var folder:String = area.firstChild.childNodes[0].childNodes[line_number].attributes.folder;
                        load_pic(picture_arc,"images/interior/"+folder+"/"+last_pic+".jpg",last_pic);
                }
                else
                {
                        load_line(line,line_number,last_pic++);
                }
        }
        if(line._parent == pictures_architecture)
        {
                if(last_pic<area.firstChild.childNodes[1].childNodes[line_number].attributes.count){ break; } // Если катинки закончились - выходим
                if(!line["picture_arc"+line_number+j])
                {
                        var picture_arc:MovieClip = line.createEmptyMovieClip("picture_arc"+line_number+j,line.getNextHighestDepth());
                        picture_arc._x = 600*last_pic;
                        var folder:String = area.firstChild.childNodes[1].childNodes[line_number].attributes.folder;
                        load_pic(picture_arc,"images/architecture/"+folder+"/"+last_pic+".jpg",last_pic);
                }
                else
                {
                        load_line(line,line_number,last_pic++);
                }
        }
        // Функция загрузки картинки, где:
        //        line_in - место загрузки
        //        pic_way - путь картинки
        //        last_pic - последняя загруженная картинка, для передачи параметра в главную функцию
        function load_pic(line_in:MovieClip, pic_way:String, last_pic:Number)
        {
                var pic_temp:MovieClip = line_in.createEmptyMovieClip("pic_temp", 0);
                var mcLoader:MovieClipLoader = new MovieClipLoader();
                mcLoader.addListener(mclListener);
                mclListener.onLoadInit = function(pic_temp)
                {
                        var bitmap_temp:BitmapData = new BitmapData(pic_temp._width, pic_temp._height, true, 0);
                        bitmap_temp.draw(pic_temp);
                        line_in.attachBitmap(bitmap_temp,0,"auto",true);
                        pic_temp.removeMovieClip();
                        load_line(line_in._parent,last_pic++);
                };
                mcLoader.loadClip(pic_way,pic_temp);
        }
}

Функция выше сделана рекурсивно, по завершению загрузки вызывается снова..

Хотел бы сделать функцию, которая загружает все картинки и при нажатии на кнопку вызывает фунцию описаную выше, но если все картинки загружены в строке, должна возвратиться к загрузке всех картинок и не иначе..

Помогите со структурой, как сделать так, чтобы функция загрузки линии ждала завершения загрузки всей строки и не выходила в фунцию загрузки всех картинок, так как выполнившись она вызывается рекурсивно только при окончании загрузки..

P.S. не знаю хорошо ли пояснил, но очень надо помогите плз


Часовой пояс GMT +4, время: 17:36.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.