Форум 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=103754)

iBandicoot 11.11.2007 23:02

Загрузка нескольких изображении друг на друга
 
Помогите разобраться. Почему вторая чать кода (if==2....) не работает?
Нужно чтобы после полной загрузки одной картинки загружалась вторая, третья и т.д.

Код:

//Создаем массив путей
var images_path = ["1.jpg", "2.jpg", "3.jpg", "4.jpg"];
var a = 1;
var b = 0;
var bx = background1._width;
var by = background1._height;
//////////////////////////////////////
if (a == 1) {
        var my_mcl:MovieClipLoader = new MovieClipLoader();
        var my_obj:Object = new Object();
        my_mcl.loadClip(images_path[0], background1);
        my_obj.onLoadStart = function(background1) {
                status_tf.text = "Загрузка началась";
        };
        my_obj.onLoadProgress = function(background1, bytesLoaded, totalBytes) {
                progres_tf.text = Math.round(bytesLoaded/totalBytes*100)+"%";
        };
        my_obj.onLoadComplete = function(background1) {
                my_obj.onLoadInit = function(target_mc:MovieClip):Void  {
                        if (target_mc._width>bx) {
                                target_mc._width = bx;
                        }
                        if (target_mc._height>by) {
                                target_mc._height = by;
                        }
                        target_mc._x = bx/2-target_mc._width/2;
                        target_mc._y = by/2-target_mc._height/2;
                        a++;
                        trace(a);
                };
                status_tf.text = "";
                delete my_obj;
                delete my_mcl;
        };
        my_mcl.addListener(my_obj);
}
///////////////////////
if (a == 2) {
        trace(a);
        my_mcl.loadClip(images_path[1], background1);
        my_obj.onLoadStart = function(background1) {
                status_tf.text = "Загрузка началась";
        };
        my_obj.onLoadProgress = function(background1, bytesLoaded, totalBytes) {
                progres_tf.text = Math.round(bytesLoaded/totalBytes*100)+"%";
        };
        my_obj.onLoadComplete = function(background1) {
                my_obj.onLoadInit = function(target_mc:MovieClip):Void  {
                        if (target_mc._width>bx) {
                                target_mc._width = bx;
                        }
                        if (target_mc._height>by) {
                                target_mc._height = by;
                        }
                        target_mc._x = bx/2-target_mc._width/2;
                        target_mc._y = by/2-target_mc._height/2;
                        a++;
                        trace(a);
                };
                status_tf.text = "Загрузка завершина";
                delete my_obj;
                delete my_mcl;
        };
        my_mcl.addListener(my_obj1);
}


iNils 11.11.2007 23:06

if (a == 2) срабатывает раньше, чем началась загрузка первой картинки, так код выполняется асинхроно загрузке. Поэтому вторую картинку надо грузить после того, как сработает my_obj.onLoadInit

iBandicoot 11.11.2007 23:12

Спасибо. А как это реализовать, чтобы код прошелся после my_obj.onLoadInit

:)))
SetInteraval пускать каждую секунду вторую часть?
Только оно не работает.

Спасибо. Нашел решение

CorC 12.11.2007 10:22

надо писать этот if в onLoadComplete'e


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

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