Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы (http://www.flasher.ru/forum/forumdisplay.php?f=10)
-   -   Подгрузка мувиклипов (http://www.flasher.ru/forum/showthread.php?t=21757)

edmund 22.10.2001 15:53

Подгрузка мувиклипов
 
хочу из меню одного клипа включать другие но с прелоадером. В каждый дочерний клип прописывать прелоадер по-моему некрасиво, а как отслеживать загрузку дочернего из родительского никак сообразить не могу. Может у кого есть идеи?

Pr0Head 22.10.2001 16:02

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

edmund 22.10.2001 16:16

Это-то я и имел в виду когда говорил что это некрасиво.
Представь- прописывать в 50-ти клипах прелоадер а потом если что не понравилось изменять. Впечатлило?

УильямБрэдберри 22.10.2001 17:12

_roditelMC._docherniyMC.getBytesTotal();
_roditelMC._docherniyMC.getBytesLoaded();

_docherniyMC = "динамически меняемое имя"
_roditelMC[_docherniyMC].getBytesTotal();
_roditelMC[_docherniyMC].getBytesLoaded();

edmund 22.10.2001 18:17

вроде бы логично, но тогда где ошибка в приведённом коде:
on (release) {
loadMovieNum ("file://film1.swf", 11);
trace (eval(film11.film1.getBytesTotal()));
}

Дело в том окно trace пусто :confused:

УильямБрэдберри 22.10.2001 18:37

а оно сразу тебе не выдаст размер
слишком короткий промежуток времени.

поэтому, пока ответ не получен, то getBytesTotal = NaN

эт первое.

второе.
у тебя должно быть так:
_level11.getBytesTotal()

edmund 22.10.2001 18:51

Ага... зашевелилось!
Большое спасибо!

edmund 23.10.2001 15:31

Рано радовался,
делаю такой код

on (release) {
loadMovieNum ("film1.swf", 11);
while (_level11.getBytesLoaded()<_level11.getBytesTotal()) {
setProperty (_level0.loader, _xscale, _level11.getBytesLoaded()/_level11.getBytesTotal()*100);
}
}

... не работает!
Похоже в момент нажатия кнопки getBytesLoader ещё не имеет информации и цикла нет. Что делать?

sts 23.10.2001 15:46

можно ещё в мувиклип грузить и

onClipEvent (data) {
_root.preloader.gotoAndStop("on");
if (this.getBytesTotal() > 0 && this.getBytesLoaded() == this.getBytesTotal()) {
_root.preloader.gotoAndStop("off");
play();
}
}

edmund 23.10.2001 16:15

т.е. надо редактировать загружаемый мувик- так я понял?
А этого как раз я хотел избежать

sts 23.10.2001 17:07

как раз не надо - делаешь стандартный дле всех подгружаемых .свф прелоадер (_root.preloader) и делаешь пустой мувиклип(болванку=) в который другие грузятся и вешаешь этот скрипт на него

потом просто:

on (release) {
loadMovieNum ("film1.swf", "болванка");
}

edmund 23.10.2001 18:44

попробовал -
в меню:
on (release) {
loadMovieNum ("preloader1.swf", 11);

}

в первом фрэйме preloader1:

loadMovieNum ("film1.swf", 11);
while (this.getBytesLoaded()<this.getBytesTotal()) {
setProperty (_level0.loader, _xscale, this.getBytesLoaded()/this.getBytesTotal()*100 );
}

что неправильно?

sts 23.10.2001 22:40

ну так за двумя зайцами... :)

я может плохо объяснил, поробую ещё: :)
------------------------------------------------------------------
_root.preloader.gotoAndStop("on");

здесь preloader - это просто мультик/индикатор.
------------------------------------------------------------------


делаешь пустой мувиклип на главной сцене, обзываешь holder;
на сцене кликаешь на него и в акшанах пишешь:

onClipEvent (data) {
// вот так можно мультяшку запусить без показа статуса
_root.loader.gotoAndStop("on");

/*так здесь не получится - пробуй это с onClipEvent (enterFrame)
--------------------------------------------------------------------------
_root.loader._xscale=this.getBytesLoaded()/this.getBytesTotal()*100 ;
--------------------------------------------------------------------------
*/

//проверка на загруженность
if (this.getBytesTotal() > 0 && this.getBytesLoaded() == this.getBytesTotal()) {
//мультяшку выключить
_root.preloader.gotoAndStop("off");
//готово
play();
}
}


и в меню:

on (release) {
// прежде я ошипся - loadMovie не loadMovieNum
loadMovie ("preloader1.swf", "holder");
}


Это - в TARGET, как в LEVEL на ночь глядя не скажу, не знаю :)

edmund 24.10.2001 12:31

извини что напрягаю, уточни - если preloader это индикатор то что такое loader?
И если я правильно понял "on" и "off" это метки фреймов, так?

sts 24.10.2001 14:18

это одно и то же - просто в этот раз я назвал как ты назвал - loader.

"он", "офф" - да, метки в loader. я написал готуИСтоп("он") - поместив мультяшку в этот кадр как отдельный мувиклип, но можно и Плей - мультяшка на таймлайн.

и в меню:

on (release) {
loadMovie ("preloader1.swf", "holder");
}

тут конечно грузишь контент а ни какой не прелодер

on (release) {
loadMovie ("whatever.swf", "holder");
}

edmund 24.10.2001 19:44

может я ещё что неправильно делаю но
getBytesLoaded() и getBytesTotal() дают одинаковые значения.
Такое впечатление что эти функции не отслеживают загрузку по loadMovie. Или я не прав?


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

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