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

Sylkoga 08.05.2007 01:46

проблема вот в чем! есть 8 картинок в папке! мне нада чтобы они грузились не все сразу, а друг за другом. и как только первая загрузится она должна проявлятся! я сделал 8 мувиклипов в которые я запихнул пустой мувик а на ActionScript написал

Код:

i=1;
loadMovie("Image"+i+".jpg",_root["btn"+i].Image);
        if (i <= count) {
                _root["btn"+i].Image._x = 0;
                _root["btn"+i].Image._y = 0;
                i++;
                Load_Image2();
        }

при таком коде они грузятся все сразу и не проявляются! как сделать?

пытаюсь сделать так

Код:

function Load_Image2() {
        var image:MovieClip = _root["btn"+i].createEmptyMovieClip("image", _root["btn"+i].getNextHighestDepth());
        image.loadMovie("Image"+i+".jpg");
        if (i <= count) {
                image.onLoad = function() {
                        _root["btn"+i].image._x = ((105 / 2) - (_root["btn"+i].image._width / 2));
                        _root["btn"+i].image._y = ((105 / 2) - (_root["btn"+i].image._height / 2));
                        i++;
                        Load_Image2();
                }
        }
}

но он не реагирует на onLoad! в чем ошибка?

this.create 08.05.2007 03:05

Подход не верный. Вам нужно использовать класс MovieClipLoader (прочитайте про него в справке flash). У этого класса есть событие onLoadComplete которое срабатывает по окончании загрузки. Вы сможете его использовать для начала новой загрузки.

Цитата:

Сообщение от Sylkoga
но он не реагирует на onLoad! в чем ошибка?

Это не тот onLoad о котором вы подумали. Метод класса MovieClip onLoad выполняет другие функции.

Aziz Zaynutdinoff 08.05.2007 03:21

Цитата:

Сообщение от this.create
У этого класса есть событие onLoadComplete которое срабатывает по окончании загрузки

onLoadInit, если точнее :)

this.create 08.05.2007 03:29

Цитата:

Сообщение от Aziz Zaynutdinoff
onLoadInit, если точнее :)

Я их всегда путаю. Но к картинке мы вроде не будем обращаться, так что onLoadInit вроде не подходит.

Sylkoga 08.05.2007 12:47

так тоже ничего не происходит!

Код:

function Load_Image2() {
        i++;
        var image:MovieClip = _root["btn"+i].createEmptyMovieClip("image", _root["btn"+i].getNextHighestDepth());
        var imageLoader:MovieClipLoader = new MovieClipLoader();
        imageLoader.addListener(this);
        _root["btn"+i].image._alpha = 0;
        imageLoader.loadClip("Image"+i+".jpg", _root["btn"+i].image);
        _root["btn"+i].image._x = ((105 / 2) - (lv["x"+i] / 2));
        _root["btn"+i].image._y = ((105 / 2) - (lv["y"+i] / 2));
}
function onLoadComplete(btn:MovieClip) {
        while (_root["btn"+i].image._alpha < 100) {
                _root["btn"+i].image._alpha = image._alpha + 10;
        }
        if (i != count) {
                Load_Image2();
        }
}

где ошибка? помогите плз! очень нада!

вот при таком коде они загружаются друг за другом, но не проявляются! хотя в debugere alpha увеличивается! почему картинка не проявляется??!

Код:

function Load_Image2() {
        i++;
        var image:MovieClip = _root["btn"+i].createEmptyMovieClip("image", _root["btn"+i].getNextHighestDepth());
        var imageLoader:MovieClipLoader = new MovieClipLoader();
        imageLoader.addListener(this);
        _root["btn"+i].image._alpha = 0;
        imageLoader.loadClip("Image"+i+".jpg", _root["btn"+i].image);
        _root["btn"+i].image._x = ((105 / 2) - (lv["x"+i] / 2));
        _root["btn"+i].image._y = ((105 / 2) - (lv["y"+i] / 2));
}
function onLoadComplete(btn:MovieClip) {
        while (_root["btn"+i].image._alpha < 100) {
                _root["btn"+i].image._alpha = _root["btn"+i].image._alpha + 10;
        }
        if (i != count) {
                Load_Image2();
        }
}


Kikasso 08.05.2007 14:28

А причем тут while? И как-то дико у вас onLoadComplete написан.
Картинки вообще видны?

Chas 08.05.2007 14:45

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

тебе нужно что-то типа:
Код:

function onLoadComplete (mov){
  mov.onEnterFrame=function (){
      if (this._alpha<100) this._alpha+=10;
      else this.onEnterFrame=null;
  }
}


Sylkoga 08.05.2007 18:47

спс! сделал и все ок, когда запускаю из папки! стоит поставить на сайт картинки не грузятся! как такое может быть?

Sylkoga 08.05.2007 22:46

ну кто-нибудь подскажет почему такое происходит?

Chas 08.05.2007 22:52

как говорит iNils, мы не телепаты ;-)


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

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