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

sergeyrg 12.02.2010 11:48

проблема с плавностью перехода при загрузке одной флэшки из другой
 
доброе время суток, ситуация следующая:

есть одна флэшка которая подгружает другую по нажатию на мувик,
событие onRelease вынесено в отдельный класс и просто делает
Код AS1/AS2:

_level0.gotoAndStop(11);

на 11м кадре в отдельном слое мувик в котором на последнем кадре следующий код
Код AS1/AS2:

stop();
_level0.my_mcl.addListener(_level0.my_lst);
_level0.my_lst.onLoadInit = function(target_mc:MovieClip) {
//тут всякая ерунда типа трейсов
}
_level0.my_mcl.loadClip("eur.swf", "_level0");

она подгружается но не плавно а скачок всё равно есть
по моему я что то не так делаю :(

подскажите как по нажатию запустить одновременно мувик перехода и включить подгрузку новой флэшки, и держать на последнем кадре мувика до тех пор пока не догрузится флэшка, а потом только сделать её видимой

последний кадр мувика идентичен первому кадру второй флэшки

Hauts 12.02.2010 12:05

Скачок чего?

aksios 12.02.2010 12:17

Где всякая ерунда поставьте альфу, визибл или еще какую ерунду.

sergeyrg 12.02.2010 17:10

Цитата:

Сообщение от Hauts (Сообщение 885801)
Скачок чего?

скачок - я имел в виду - пропадает первая флэшка, остается белый фон, потом появляется вторая флэшка

насколько я понял - когда висит белый фон - грузится вторая, а ооч хочется сделать так чтобы этого пробела не было

Hauts 12.02.2010 17:14

Вы же в _level0 грузите, то же самое, что и в _root.

Грузите в клип, находящийся в руте.

sergeyrg 12.02.2010 17:19

Цитата:

Сообщение от aksios (Сообщение 885804)
Где всякая ерунда поставьте альфу, визибл или еще какую ерунду.

попробовал:

Код AS1/AS2:

stop();
        _level0.my_mcl.addListener(_level0.my_lst);
        _level0.my_lst.onLoadInit = function(target_mc:MovieClip) {
                _level0._alpha = 100;
}
_level0.my_mcl.loadClip("eur.swf", "_level0");

не помогло :((

может как то его зациклить или каким то образом удерживать на последнем кадре пока не догрузится целиком вторая? как это сделать?

Hauts 12.02.2010 17:31

Загружаемая флэшка полностью заменяет ту, в которую загружаете. Ровно в тот момент, когда вызываете _level0.my_mcl.loadClip("eur.swf", "_level0");

Попробуйте проще:
Код AS1/AS2:

_level0.my_mcl.loadClip("eur.swf", _root.createEmptyMovieClip("clip",_root.getNextHighestDepth()));


sergeyrg 12.02.2010 18:06

Цитата:

Сообщение от Hauts (Сообщение 885926)
Вы же в _level0 грузите, то же самое, что и в _root.

Грузите в клип, находящийся в руте.

сделал так
Код AS1/AS2:

stop();
      _level0.createEmptyMovieClip("target_mov",1);
      target_mov._x = 85;
var my_mcl:MovieClipLoader = new MovieClipLoader();
var my_lst:Object = new Object();
        _level0.my_mcl.addListener(_level0.my_lst);
        _level0.my_lst.onLoadInit = function(target_mc:MovieClip) {
                _level0.target_mov._alpha = 100;
        }       
_level0.my_mcl.loadClip("eur.swf", _level0.target_mov);

вроде получилось - но теперь на заднем фоне остается последний кадр первой флэшки,
пробовал сделать в onLoadInit
Код AS1/AS2:

_level0._alpha = 0;

- тогда пропадает всё

Добавлено через 18 минут
Цитата:

Сообщение от Hauts (Сообщение 885933)
Загружаемая флэшка полностью заменяет ту, в которую загружаете. Ровно в тот момент, когда вызываете _level0.my_mcl.loadClip("eur.swf", "_level0");

насколько я понял loadClip не заменяет первую, это loadMovie заменяет

Цитата:

Сообщение от Hauts (Сообщение 885933)
Попробуйте проще:
Код AS1/AS2:

_level0.my_mcl.loadClip("eur.swf", _root.createEmptyMovieClip("clip",_root.getNextHighestDepth()));


попробовал и так, получилось так же как у меня в предыдущем посте, всё работает но на заднем фоне первая флэшка :(

Добавлено через 35 минут
кроме того ещё и не вся функциональность работает в том который загрузился.. всплывающиеся надписи пропали :)

Hauts 12.02.2010 19:03

Попробуйте так:
Код AS1/AS2:

_level0.my_lst.onLoadInit = function(target_mc:MovieClip) {
    // [флэшка, что остается на заднем фоне].swapDepths(_root.getNextHighestDepth());
    [флэшка, что остается на заднем фоне].removeMovieClip();
    target_mc._lockroot = true;
}
_level0.my_mcl.loadClip("eur.swf", _root.createEmptyMovieClip("clip",_root.getNextHighestDepth()));

Если не получится, раскомментируйте строчку.


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

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